Обсуждение статьи "Создай торговый робот за 6 шагов!" - страница 6

 

Пользуясь инструкциями данной статьи, пробовал создать собственный сигнал и советника, но сигнал упорно не хочет проявляться в списке сигналов "Мастер MQL".

Советник при тестировании не совершает сделок и не прорисовывает некоторые индикаторы. Пробовал  создавать свои сигналы и советники и переделывать из рабочих сигналов и советников.

При загрузке сигналов с сайта, их также не удается вставить в список сигналов "Мастер MQL", хотя советники и сигналы прекрасно работают.   Извините за  вопросы новичка,

но из обсуждения форума, понял, что аналогичные проблемы возникают, но абсолютно не понял как с этим бороться. Это проблема терминала или кода.

Тестирование проводил на терминалах: VTB24 и Insta. Компиляция ошибок не видит. Какое количество индикаторов возможно при создании сигнала

Файлы:
HetireEMA.mq5  13 kb
Signal4EMA.mqh  15 kb
 
Я не мастер программировать на mql5, но из этой статьи сделел вывод что, чтобы написать простого эксперта на пересечении 2-х МА, в mql5 нужно аж 2 файла, и плюс писанины какой-то сложной куча! В mql4 для такого экперта нужно всего не более 10 строк и готово!!! Получается если в mql4 тратится на советника например 1 день - то в mql5 нужно на такого же советника убить целых 3, в лучшем случае 2 дня!!! И ещё я понял отичие между этими двумя языками только в том, что в mql5 можно делать всякие красивые и функциональные панельки и всё, и от того что он на mql5 написан, торговать лучше - этот эксперт не будет! Критикуйте и переубеждайте меня.
 
zlodei:
Критикуйте и переубеждайте меня.
Попробуйте еще раз прочитать.
 
zlodei:

Я не мастер программировать на mql5, но из этой статьи сделел вывод что, чтобы написать простого эксперта на пересечении 2-х МА, в mql5 нужно аж 2 файла, и плюс писанины какой-то сложной куча!

вывод ошибочный, так как вам предлагают готовые универсальные решения. А такие решения не бывают в двух строчках

Если вам нужен робот чисто на пересечении 2 МА, конкретно для вашей задачи, то его в MQL5 тоже можно написать в 10 строк и готово!!!

 

Созданный мною советник (hetireema.mq5) каким-то чудным образом заработал на терминале InstaTrader5 (созрел без лишних манипуляций), однако сигнал не виден в  "Мастере" (еще не созрел). Более сложные сигналы созданные по аналогии с 7 и 10 ЕМА- и опять не работают, хотя компилятор  ошибок не видит, в терминале файлы эксперта и сигнала присутствуют, в тестере эксперт есть, входные параметры задаются, а сделки не производятся . Т.е. mql5 язык с капризами или терминалы с глюками.

 Действительно в mql5 очень сложно создать код. Для описания взаимного расположения нескольких ЕМА необходимо 500 строк кода, а то и более. Основная масса кода это проверка ошибок и условий которые перегружают код. Создавал роботов на терминале АсtTrader (язык ActFX (Pascal), там торговых роботов можно шлепать по 50 штук в день с любым набором индикаторов и условий. Занимает робот 2 страницы без лишнего кодоблудия. Однако тестирование крайне   медленное   и история свечей очень ОЧЕНЬ!!! короткая. На МQL5 подкупила быстрота и большая история свечей. Надо выбирать, или неделями писать роботы, или неделями тестировать, быстро написанные. Если MQL4 нивелирует все эти недостатки - уйду туда. Хотя наверное обсуждение языков это другая ветка форума.

 
alextxpert99:

Созданный мною советник (hetireema.mq5) каким-то чудным образом заработал на терминале InstaTrader5 (созрел без лишних манипуляций), однако сигнал не виден в  "Мастере" (еще не созрел).

Вы уверены, что сделали всё по рецепту?

  1. Создать новый класс с помощью Мастера MQL5 в отдельной папке MQL5/Include/MySignals/. В нем будет наш модуль торговых сигналов.
  2. Составить дескриптор модуля в котором описаны параметры, их тип и значения по умолчанию.
  3. Объявить параметры модуля в самом классе и добавить методы для инициализации в конструкторе.
  4. Проверить входные параметры на корректность и не забыть вызвать метод ValidationSettings() базового класса CExpertSignal.
  5. Создать объекты-индикаторы и добавить предопределенный метод инициализации InitIndicators().
  6. Определить условия возникновения торговых сигналов в методах LongCondition() и ShortCondition().
 
 Буду  пробовать ещё и ещё. О результатах сообщу.
 
   Спасибо за поддержку!! Была ошибка в дескрипторе модуля -(Type - указывает на версию модуля сигналов. Всегда должен быть SignalAdvanced;). Исправил и сигналы в "Мастере" появились. Индикаторы не проявляются в сигналах где их количество больше - 4. При создании эксперта буду пробовать компоновать по несколько однотипных простых торговых сигнала. 
 

Очень хорошо написанная статья, которая, однако, оставила меня разочарованным, так как уже на первом/втором (?) шаге я получил два сообщения об ошибке:

В строке 10 компилятор смог найти, но не открыть файл "ExpertSignal.mqh". Я проверил это, загрузив приложенный файл "MA_...", для которого компилятор выдал то же сообщение об ошибке. Затем, конечно, он также не смог распознать структуру"CExpertSignal" в строке 33 ("MA_..."), тем самым сорвав весь процесс.

Что здесь было не так?

Спасибо!

Locan.BBS

 
locan.BBS:

Очень хорошо написанная статья, которая, однако, оставила меня разочарованным, так как уже на первом/втором (?) шаге я получил два сообщения об ошибке:

В строке 10 компилятор смог найти, но не открыть файл "ExpertSignal.mqh". Я проверил это, загрузив приложенный файл "MA_...", для которого компилятор выдал то же сообщение об ошибке. Затем, конечно, он также не смог распознать структуру "CExpertSignal" в строке 33 ("MA_..."), тем самым сорвав весь процесс.

Что же там было не так?

ExpertSignal.mqh находится в папке terminal_data_folder\MQL5\Include\Expert\ExpertSignal.mqh.

Возможно, проблема в неправильном расположении MA_Cross.mqh (он должен быть создан в папке terminal_data_folder\MQL5\Include\Expert\MySignals\MA_Cross.mqh):