Отложенный ордер срабатывает и тут же закрывается

 

Здравствуйте, не понимаю в чем дело:

Создаю отложенный ордер, он ждет срабатывания, а когда срабатывает тут же закрывается.

Вот пример из тестера стратегий:

 
Используйте такой прием.
#include <Trade\Trade.mqh>

class CTrade2 : public CTrade
{
public:
  virtual bool OrderSend( const MqlTradeRequest &request, MqlTradeResult &result )
  {
    if (request.position == 40)
      DebugBreak();
    
    return(CTrade::OrderSend(request, result));
  }  
};

#define CTrade CTrade2

// ....


Прописывание этого кода в начале исходника позволит вам поймать ситуацию закрытия позиции в дебаг-режиме. Вы окажетесь в ME в этот момент, где будет показана цепочка вызовов методов. По этой цепочке должна найтись причина.

 
Aleksander Gladkov:

Здравствуйте, не понимаю в чем дело:

Создаю отложенный ордер, он ждет срабатывания, а когда срабатывает тут же закрывается.

Вот пример из тестера стратегий:

Из вашего примера следует, что ваш робот отправляет рыночную заявку на продажу(закрытие позиции).

Почему он так делает - вопрос к вашему алгоритму и коду.

 
fxsaber #:
Используйте такой прием.


Прописывание этого кода в начале исходника позволит вам поймать ситуацию закрытия позиции в дебаг-режиме. Вы окажетесь в ME в этот момент, где будет показана цепочка вызовов методов. По этой цепочке должна найтись причина.

Спасибо, способ просто гениальный!
Причина обращения: