Всем привет, кто подскажет код для iCustom открытие ордера при каждом появлении сигнала в BAY или SELL, а также включение и выключение данного параметра в настройках.
Где нолики в
iCustom там параметры индикатора.
if( что то ) // оно true или false
{
//верхняя линия
PriceHigh = iCustom(Symbol(), 0, IndicatorName, 0, 0, 0, 0, 0, 0, 1, 0);
//нижняя линия
PriceLow = iCustom(Symbol(), 0, IndicatorName, 0, 0, 0, 0, 0, 0, 2, 0);
//средняя линия(линия безубытка)
PriceMidl = iCustom(Symbol(), 0, IndicatorName, 0, 0, 0, 0, 0, 0, 0, 0);
//+------------------------------------------------------------------+
//Условия на продажу
if(Bid >= PriceHigh && CountSell() == 0 )
{
TP=NormalizeDouble(Bid - TakeProfit*Point, Digits); //Нормализуем тейкпрофит
SL=NormalizeDouble(Bid + StopLoss*Point, Digits); //Нормализуем стоплосс
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Red); //Открываем продажу
if ( ticket > 0) //если продажа открыта
{
if( OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES )==true)
res = OrderModify( ticket, OrderOpenPrice(), SL, TP, 0 ); //при открытии продажи выставляем стопы
if(!res)
Print("Ошибка модификации ордера. Код ошибки=",GetLastError());
else
Print("Цена Stop Loss & Take Profit ордера успешно модифицирована.");
}
}
//+------------------------------------------------------------------+
//Условия на покупку
if( Ask <= PriceLow && CountBuy() == 0)
{
TP=NormalizeDouble(Ask + TakeProfit*Point, Digits); //Нормализуем тейкпрофит
SL=NormalizeDouble(Ask - StopLoss*Point, Digits); //Нормализуем стоплосс
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, comment, Magic, 0, Blue); //открываем покупку
if ( ticket > 0)
{
if( OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES )==true) //если покупка открыта выставляем стопы
res=OrderModify( ticket, OrderOpenPrice(), SL, TP, 0 );
if(!res)
Print("Ошибка модификации ордера. Код ошибки=",GetLastError());
else
Print("Цена Stop Loss & Take Profit ордера успешно модифицирована.");
}
}
}