Обсуждение статьи "Как написать модуль торговых сигналов для Мастера MQL5" - страница 2

 
Burgunsky:
Скажите пожалуйста а зачем нужен основной класс CExpertSignal? Ну предположим засуну я в него коллекцию индикаторов, но на каком алгоритме он будет принимать решение об открытии сделки? Если всё делают его потомки, то зачем делать их (потомков) его потомками? Почему их нельзя сделать базовыми классами?
Ознакомтесь плиз с основами ООП, я бы даже сказал С БАЗОВЫМИ ОСНОВАМИ...
 

Interesting:
Ознакомтесь плиз с основами ООП, я бы даже сказал С БАЗОВЫМИ ОСНОВАМИ... 

В конкретном случае наверное наследование нужно только потому, что метод InitSignal класса CExpert понимает только объект типа CExpertSignal или его потомка? А виртуальные методы в CExpertSignal нужны для того, чтоб CExpert корректно обращался к методам потомка? Родитель просто как шаблон, по которому нужно строить свой класс. Я правильно мыслю?

 

Более подробно класс CExpert и работа с ним будут рассмотрены в отдельной статье.

Отдельная статья с подробностями о классе CExpert и о работе с ним пока не появилась? 

 

Эта статья еще актуальна? Попробовал генерировать советник с прикрепленным тут файлом, не торгует.



 
В новой версии MQL5 Визард формат модулей сигналов изменился. Посмотрите здесь информацию - https://www.mql5.com/ru/forum/3724/66962#comment_66962.
Обсуждение статьи "Мастер MQL5: Новая версия"
Обсуждение статьи "Мастер MQL5: Новая версия"
  • www.mql5.com
Изменения в архитектуре сигналов позволяют теперь создавать торговые роботы на основе комбинации различных рыночных моделей.
 
Rosh:
В новой версии MQL5 Визард формат модулей сигналов изменился. Посмотрите здесь информацию - https://www.mql5.com/ru/forum/3724/66962#comment_66962.

Я сделал эти изменения, мастер видит новый модуль сигналов, но полученный советник почему-то не торгует. А можно с помощью отладки добраться до  функций CheckOpenShort/CheckOpenLong?
 
Просмотрел код нескольких готовых сигналов из папки  Signal, нет реализации функций  CheckOpenShort/CheckOpenLong. Вместо них используются
//--- methods of checking if the market models are formed
   virtual int       LongCondition();
   virtual int       ShortCondition();
правильно я понимаю? При написании своего модуля тоже надо их реализовать? Когда появиться описание класса CExpert?
 
beginner:

Просмотрел код нескольких готовых сигналов из папки  Signal, нет реализации функций  CheckOpenShort/CheckOpenLong. Вместо них используютсяправильно я понимаю?
Да, правильно.
 
Rosh:
Да, правильно.

Честно говоря немного запутался. В классе CExpertSignal есть функции CheckOpenShort/CheckOpenLong. Вы в своих сигналах используете другие, где они вызываются в CExpert тоже не понял. Проблема в том, что взяв готовый сигнал из статьи о написании своего модуля сигналов,  добился чтобы мастер его увидел (можно наверно внести изменения в статью по поводу нового формата) получил советник с этим сигналом, но он у меня не торгует, за год в тестере ни одной сделки.

Функции вызываются в конструкторе- это ясно, но почему не используются стандартные?

 

Посмотрите плиз, что не так. Не торгует в тестере.
Файлы:
1.mq5  7 kb