Добрый день! Обращаюсь с таким вопросом,может кто поможет!
Сделал советника по 1 стрелочнику и 1 трендовому индикаторам. Но не знаю как сделать так, чтобы он на каждой стрелке открывал по n ордеру. У меня же получается, что как появилась стрелка на каждом тике открывает столько ордеров, сколько n. Спасибо!
int ticket=0;
priceliniaGREEN = iCustom(NULL, 0, "beforexguru-2",Sensitivity, PopUp_Alert, Email_Alert,HomePage, 1, 1);
priceliniaRED = iCustom(NULL, 0, "beforexguru-2",Sensitivity, PopUp_Alert, Email_Alert, HomePage, 2, 1);
signalBuy = iCustom(NULL, 0,"1FxSoni_Entry_v3.a",tf,g_period_76,dev_long,dev_short,sc_upper,sc_lower,appliedpriceupper,
appliedpricelower,gd_84,gi_92,gi_96,gi_100, 2,1);
signalSell = iCustom(NULL, 0,"1FxSoni_Entry_v3.a",tf,g_period_76,dev_long,dev_short,sc_upper,sc_lower,appliedpriceupper,
appliedpricelower,gd_84,gi_92,gi_96,gi_100, 3,1);
//bufBuy = iCustom(NULL,0,"beforexguru-2",Sensitivity, false, false,3,1);
//bufSell = iCustom(NULL,0,"beforexguru-2",Sensitivity, false, false,4,1);
if (priceliniaGREEN != EMPTY_VALUE && CountBuy() < numberopenorders && signalBuy != -1)
{
ticket = OrderSend( Symbol(), OP_BUY, Lots, Ask, 5, 0, 0, "", Magic, 0, Blue);
if(ticket>0)
{
TP = NormalizeDouble( Ask + TakeProfit*Point, Digits);
SL = NormalizeDouble( Ask - StopLoss*Point, Digits);
if(OrderSelect(ticket,SELECT_BY_TICKET))
if(OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))
Print("Ордер успешно модифицирован");
}
}
if( priceliniaRED != EMPTY_VALUE && CountSell() < numberopenorders && signalSell != -1)
{
ticket = OrderSend( Symbol(), OP_SELL, Lots, Bid, 5, 0, 0, "", Magic, 0, Red);
if(ticket>0)
{
TP = NormalizeDouble( Bid + TakeProfit*Point, Digits);
SL = NormalizeDouble( Bid - StopLoss*Point, Digits);
if(OrderSelect(ticket,SELECT_BY_TICKET))
if(OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))
Print("Ордер успешно модифицирован");
}
}
}