Советники: Stop Loss Take Profit

 

Stop Loss Take Profit:

Если закрытие по Stop loss - удваиваем объём, если по Take profit - ставим минимальный объём. Для определения того, что сделка произошла вследствие срабатывания Stop loss или TakeProfit, используем OnTradeTransaction.

      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            if(deal_reason==DEAL_REASON_SL)
               ExtLot*=2.0;
            else if(deal_reason==DEAL_REASON_TP)
               ExtLot=m_symbol.LotsMin();
           }

Автор: Vladimir Karputov

 

Начиная с билда 1632 свойство DEAL_REASON работает в тестере!

 
Помогите пожалуйста изменить советник:
Если закрытие по Stop loss - не торгуем (ждем следующего сигнала)
Если закрытие по Take profitто открываем на следующем тике еще одну сделку "buy". Дальше если закрылась в +, открываем еще одну сделку "buy"
 
dsfsf333:
Помогите пожалуйста изменить советник:
Если закрытие по Stop loss - не торгуем (ждем следующего сигнала)
Если закрытие по Take profitто открываем на следующем тике еще одну сделку "buy". Дальше если закрылась в +, открываем еще одну сделку "buy"
А какой именно сигнал-то ждём?
 
Vladimir Karputov:
А какой именно сигнал-то ждём?

000111111 (свечи)

 
dsfsf333:

000111111 (свечи)

В данном советнике нет никаких "сигналов". Направление позиции определяется случайным образом:

      if(math_rand%1==0 && math_rand%2==0)
        {
         double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
         double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
         OpenSell(ExtLot,sl,tp);
        }
      else
        {
         double sl=(InpStopLoss==0)?0.0:m_symbol.Ask()-ExtStopLoss;
         double tp=(InpTakeProfit==0)?0.0:m_symbol.Ask()+ExtTakeProfit;
         OpenBuy(ExtLot,sl,tp);
        }
 
dsfsf333:
Помогите пожалуйста изменить советник:
Если закрытие по Stop loss - не торгуем (ждем следующего сигнала)
Если закрытие по Take profitто открываем на следующем тике еще одну сделку "buy". Дальше если закрылась в +, открываем еще одну сделку "buy"

Всем спасибо, разобрался)

Причина обращения: