Greg Pawlak:
Hi, your strategy looks like martingle strategy, so backtest schould be from last 10-15 years to make sure this strategy is profitable. This kind strategy is very risky. Regards Greg
Yes its like martingale, i want change a little in prog, every time open new trade a double size i want to open same size new lots how can i change in
prog because i don,t know pro gaming
Hi, your strategy looks like martingle strategy, so backtest schould be from last 10-15 years to make sure this strategy is profitable. This kind strategy is very risky. Regards Greg
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
i don't know programming. I am giving i'e EA open first lot 0.01 2nd lot 0.02 third 0.04 4th 0.08 every double from last, i need every thing is fine only all lots open same size means if i set 0.01 lot second lot 0.01 third 0.01 4th 0.01 i am copying here if any expert please help me and modify i will copy from here because i am totaly zero in prog languages. following is my prog free downloded
//+------------------------------------------------------------------+
//| bless_FiFtHeLeMeNt_noTG_1.0.1 |
//| Copyright © 2007, FiFtHeLeMeNt |
//| fifthelement80@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, FiFtHeLeMeNt."
#property link "http://www.irxfx.com"
extern int MinGS=20;
extern int TP=27;
extern double lot=0.01;
extern int MaxTrades=7;
extern bool ECNMode = true;
int magic;
double lot2;
datetime tob,tos; //Time Out Buy & Sell
double pt,mt;
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int init() {
if(Digits==3 || Digits==5){
pt=Point*10;
mt=10;
}else{
pt=Point;
mt=1;
}
if (Symbol() == "AUDCADm" || Symbol() == "AUDCAD") { magic = 211001; }
if (Symbol() == "AUDJPYm" || Symbol() == "AUDJPY") { magic = 211002; }
if (Symbol() == "AUDNZDm" || Symbol() == "AUDNZD") { magic = 211003; }
if (Symbol() == "AUDUSDm" || Symbol() == "AUDUSD") { magic = 211004; }
if (Symbol() == "CHFJPYm" || Symbol() == "CHFJPY") { magic = 211005; }
if (Symbol() == "EURAUDm" || Symbol() == "EURAUD") { magic = 211006; }
if (Symbol() == "EURCADm" || Symbol() == "EURCAD") { magic = 211007; }
if (Symbol() == "EURCHFm" || Symbol() == "EURCHF") { magic = 211008; }
if (Symbol() == "EURGBPm" || Symbol() == "EURGBP") { magic = 211009; }
if (Symbol() == "EURJPYm" || Symbol() == "EURJPY") { magic = 211010; }
if (Symbol() == "EURUSDm" || Symbol() == "EURUSD") { magic = 211011; }
if (Symbol() == "GBPCHFm" || Symbol() == "GBPCHF") { magic = 211012; }
if (Symbol() == "GBPJPYm" || Symbol() == "GBPJPY") { magic = 211013; }
if (Symbol() == "GBPUSDm" || Symbol() == "GBPUSD") { magic = 211014; }
if (Symbol() == "NZDJPYm" || Symbol() == "NZDJPY") { magic = 211015; }
if (Symbol() == "NZDUSDm" || Symbol() == "NZDUSD") { magic = 211016; }
if (Symbol() == "USDCHFm" || Symbol() == "USDCHF") { magic = 211017; }
if (Symbol() == "USDJPYm" || Symbol() == "USDJPY") { magic = 211018; }
if (Symbol() == "USDCADm" || Symbol() == "USDCAD") { magic = 211019; }
if (magic == 0) { magic = 211999; }
return (0);
return(0);
}
void OpenBuy()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
if (!ECNMode) ticket = OrderSend(Symbol(), OP_BUY,lot2,Ask,1,0,Ask+TP*pt,"EA Order",magic,0,Blue);
if (ECNMode) ticket = OrderSend(Symbol(), OP_BUY,lot2,Ask,1,0,0,"EA Order",magic,0,Blue);
if(ticket>0)
{
OrderSelect(ticket,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),0,Ask+TP*pt,0,Blue);
}
GlobalVariableDel("InTrade"); // clear lock indicator
}
}
void OpenSell()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
if (!ECNMode) ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,Bid-TP*pt,"EA Order",magic,0,Red);
if (ECNMode) ticket = OrderSend(Symbol(), OP_SELL, lot2,Bid,1,0,0,"EA Order",magic,0,Red);
if(ticket>0)
{
OrderSelect(ticket,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(), 0,Bid-TP*pt,0,Green);
}
GlobalVariableDel("InTrade"); // clear lock indicator
}
}
void ManageBuy()
{
int lasttradetime = 0;
double lastopenprice=0;
double maxlots = 0;
double lasttp=0;
int lastordertype=-1;
int lastorderticket=0;
int y=0;
for (y = 0; y < OrdersTotal(); y++)
{
OrderSelect (y, SELECT_BY_POS, MODE_TRADES);
if ((OrderMagicNumber() != magic) || (OrderType()!=OP_BUY)) { continue; }
if (OrderOpenTime() > lasttradetime) {
lasttradetime = OrderOpenTime();
lastopenprice = OrderOpenPrice();
lastordertype=OrderType();
lastorderticket=OrderTicket();
lasttp=OrderTakeProfit();
}
if (OrderLots() > maxlots) { maxlots = OrderLots(); }
}
int lvl=MathLog(maxlots/lot)/MathLog(2)+1;
if (lvl<0) lvl=0;
lot2=lot*MathPow(2,lvl);
if (lvl==0) OpenBuy();
if ((lastopenprice-Ask>MinGS*pt) && (lvl<MaxTrades)) {
OpenBuy();
return(0);
}
/////////// TP
/*
double sumlots=0;
double sump=0;
double avgp=0;
for (y = 0; y < OrdersTotal(); y++)
{
OrderSelect (y, SELECT_BY_POS, MODE_TRADES);
if ((OrderMagicNumber() != magic) || (OrderType()!=OP_BUY)) { continue; }
sumlots=sumlots+OrderLots();
sump=OrderOpenPrice()*OrderLots()+sump;
}
if (sumlots>0) {
avgp=NormalizeDouble(sump/sumlots,Digits);
double tpp=NormalizeDouble(TP/10/sumlots*pt+avgp,Digits);
for (y = 0; y < OrdersTotal(); y++)
{
OrderSelect (y, SELECT_BY_POS, MODE_TRADES);
if ((OrderMagicNumber() != magic) || (OrderType()!=OP_BUY) || (OrderTakeProfit()==tpp)) { continue; }
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),tpp,0,Red);
}
}
*/
for (y = 0; y < OrdersTotal(); y++)
{
OrderSelect (y, SELECT_BY_POS, MODE_TRADES);
if ((OrderMagicNumber() != magic) || (OrderType()!=OP_BUY) || (OrderTakeProfit()==lasttp) || (lasttp==0)) { continue; }
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),lasttp,0,Blue);
}
}
void ManageSell()
{
int lasttradetime = 0;
double lastopenprice=0;
double maxlots = 0;
double lasttp=0;
int lastordertype=-1;
int lastorderticket=0;
int y=0;
for (y = 0; y < OrdersTotal(); y++)
{
OrderSelect (y, SELECT_BY_POS, MODE_TRADES);
if ((OrderMagicNumber() != magic) || (OrderType()!=OP_SELL)) { continue; }
if (OrderOpenTime() > lasttradetime) {
lasttradetime = OrderOpenTime();
lastopenprice = OrderOpenPrice();
lastordertype=OrderType();
lastorderticket=OrderTicket();
lasttp=OrderTakeProfit();
}
if (OrderLots() > maxlots) { maxlots = OrderLots(); }
}
int lvl=MathLog(maxlots/lot)/MathLog(2)+1;
if (lvl<0) lvl=0;
lot2=lot*MathPow(2,lvl);
if (lvl==0) OpenSell();
if ((Bid-lastopenprice>MinGS*pt) && (lastopenprice>0) && (lvl<MaxTrades)) {
OpenSell();
return(0);
}
/////////// TP
/* double sumlots=0;
double sump=0;
double avgp=0;
for (y = 0; y < OrdersTotal(); y++)
{
OrderSelect (y, SELECT_BY_POS, MODE_TRADES);
if ((OrderMagicNumber() != magic) || (OrderType()!=OP_SELL)) { continue; }
sumlots=sumlots+OrderLots();
sump=OrderOpenPrice()*OrderLots()+sump;
}
if (sumlots>0) {
avgp=NormalizeDouble(sump/sumlots,Digits);
double tpp=NormalizeDouble(-TP/10/sumlots*pt+avgp,Digits);
for (y = 0; y < OrdersTotal(); y++)
{
OrderSelect (y, SELECT_BY_POS, MODE_TRADES);
if ((OrderMagicNumber() != magic) || (OrderType()!=OP_SELL) || (OrderTakeProfit()==tpp)) { continue; }
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),tpp,0,Red);
}
}
*/
for (y = 0; y < OrdersTotal(); y++)
{
OrderSelect (y, SELECT_BY_POS, MODE_TRADES);
if ((OrderMagicNumber() != magic) || (OrderType()!=OP_SELL) || (OrderTakeProfit()==lasttp) || (lasttp==0)) { continue; }
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),lasttp,0,Red);
}
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
ManageBuy();
ManageSell();
//----
return(0);
}
//+------------------------------------------------------------------+