Установка режима исполнения отложенных ордеров

 

Столкнулся с такой проблемой. Мой брокер (или может быть это ограничение биржи) предоставляет возможность открывать отложенные ордера только в режиме ORDER_FILLING_RETURN. По умолчанию, насколько я понимаю, эксперты, генерируемые мастером MQL5, открывают отложенные ордера в режиме ORDER_FILLING_FOK.

Подскажите, как можно можно установить режим ORDER_FILLING_RETURN в эксперте, сгенерированном мастером MQL5?

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

Думаю, можно попробовать так:

Создать класс производный от CExpert

CMyExpert : public CExpert

... переопределить в нем функцию примерно так: 

  virtual bool InitTrade(ulong magic,CExpertTrade *trade=NULL)

{

    bool result = CExpert::InitTrade(magic, trade);

    if (result)

         m_trade.SetTypeFilling(ORDER_FILLING_RETURN);
    return(result);

}

... и в файле советника заменить

CExpert ExtExpert;
на

CMyExpert ExtExpert;

 

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Ужасы ООП. В функциональном я меняю ORDER_FILLING_FOK на  ORDER_FILLING_RETURN, и все.
 
sandex:
Ужасы ООП. В функциональном я меняю ORDER_FILLING_FOK на  ORDER_FILLING_RETURN, и все.

O! Уверяю Вас, Вы еще не оценили все прелести ООП. :)

Конечно, после "обычного" программирования ООП кажется неудобным. Но разобравшись Вы полюбите ООП.

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