Скачать MetaTrader 5

Тестер и ООП

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нужен торговый робот? Закажи его в сервисе Фриланс!
misa12345
24
misa12345 2010.05.16 12:54 

  Есть такая проблема. Создаю эксперт без использования классов, тестирую его все в порядке, то есть в тестере сделки открываются и закрываются согласно заданым условиям. Теперь начал осваивать ООП. Создал класс (во включаемом файле), включил в него функции из вышеописаного эксперта как методы этого класса, подключил файл с созданым классом к эксперту. Объявил объект класса в эксперте и вызываю методы через этот объект. Все компилируется без ошибок и в эксперте и во включаемом файле (ну кроме no executable file produced во включаемом файле). Начинаю тестировать вылезает куча ошибок. Даже не печатается сообщение из функции Print в журнале тестера объявленая в OnInit().

  Не мог бы кто-нибудь выложить пример простого эксперта с торговыми операциями с применением ООП (желательно чтобы класс объявлялся во включаемом файле (mqh)) в code base чтобы он тестировался в тестере, тогда я бы нашел у себя ошибки, а то там лежит только один эксперт без примения ООП для тестирования тестера.

  Я конечно не в курсе может быть тестер на данный момент воообще не поддерживает ООП. Но ничего в форуме по этому поводу я не нашел.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
Ruslan Khasanov
3036
Ruslan Khasanov 2010.05.16 14:54  
А чем не устраивает пример MACDSample?

misa12345
24
misa12345 2010.05.16 21:18  
Этот советник у меня выдает ошибку при компиляции  'PositionType' - member function is not defined MACD Sample.mq5 398 21 и в тестере не тестируется


cpp.forex
105
cpp.forex 2010.05.16 21:26  
misa12345 писал(а)  :

  Объявил объект класса в эксперте и вызываю методы через этот объект.


Глупый вопрос, а вы создали экземпляр этого класса типа CMyClass* m = new CMyClass(); перед вызовом метода m.MyMethod();?
misa12345
24
misa12345 2010.05.16 21:53  

Сначала пробовал объявлять просто экземпляр класса, а потом пробовал через указатель (с помощью оператора new). 

Исправил советник  MACD Sample.mq5 (функции PositionType в классе CPositionInfo нет есть TypeDescription()), в тестере теперь тестируется, сейчас буду в нем ковыряться. Спасибо Kos.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий