В данный момент я нахожусь не за своим рабочим компьютером и поэтому смогу протестировать своё предположение только после выходных.
Почему вы не хотите сделать что-то типо такого:
double val1 = iCustom(NULL, 0, "Forexofftrend3", 0, 1);
double val2 = iCustom(NULL, 0, "Forexofftrend3", 1, 1);
if(val1 > val2)
{
OrderSend(Symbol(), OP_BUY, lots, Ask, slip, Bid - StopLoss*Point, Bid + TakeProfit*Point, NULL, Magic);
}
if(val1 < val2)
{
OrderSend(Symbol(), OP_SELL, lots, Bid, slip, Ask + StopLoss*Point, Ask - TakeProfit*Point, NULL, Magic);
}
return(0);
Предложение как заставить открыть на получении противоположного сигнала:
Смотрим есть ли открытые ордера. А также бай или селл они.
Если открыт ордер бай, и появился сигнал (val1 > val2), то закрываем ордер бай и открываем ордер селл.
И наоборот:
Если открыт ордер селл, и появился сигнал (val1 > val2), то закрываем ордер селл и открываем ордер бай.
|