Обсуждение статьи "Пошаговое руководство по написанию советников в MQL5 для начинающих" - страница 8

 

Спасибо за эту статью.

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

 

Ottima spiegazione :-) Grazie :-)

Отличная статья, Танк, вы :-)

 

Отличная статья,

Это помогло мне сэкономить больше, чем 3 месяца, Спасибо, я иду к вашей следующей связанной статье (OOP)

в надежде увидеть эксперта по разметке денег и поделиться с вами, я с нетерпением жду такой статьи,

Спасибо еще раз,

 
Я тоже хочу стать программистом!
 
Спасибо, очень хорошая статья, возможно, я приму участие в чемпионате 2013 года.
 

Дорогой Сэм,

Я уже скачал ваш советник; " my_first_ea" и попробовал, мне понравилось. спасибо вам большое!

Благодаря вашему советнику, мне интересно сделать советник по своей логике, он не может торговать сам по себе. извините, я начинающий и не знаю, что такое код в mql basic.

К вашему сведению, этот советник не выдает ошибок и предупреждений, когда я компилирую, но он не может осуществлять торговлю.

Не могли бы вы мне помочь?

Большое спасибо за помощь

Файлы:
 
abolk:

Удивительный "подход" используют уважаемые и опытные программисты для "решения проблемы" 5-тизнака. А теперь этот "подход" ещё и культивируется среди новичков, в учебной, можно сказать, литературе.

Приведённый автором "подход" полностью сводит на нет всё преимущество 5-тизнака. Вместо того, чтобы объяснить новичку, что введение 5-тизначной котировки даёт возможность установить, например, тейк-профит не 10 пунктов, а 10,5. А также объяснить, что при использовании советника на 5-тизнаке надо указывать тейк-профит не 10 пунктов, а 100. Вместо таких объяснений в программный код вводятся строки, которые программно не дают возможность использовать преимущества 5-тизначных котировок.

"Мы должны быть уверены в том, что наш советник будет корректно работать со всеми брокерами". Ну убедились и дальше что? Как теперь использовать преимущество 5-тизнака, если программно советник это преимущество "приговорил исправно служить".

А если

_Digits==3

тогда что, все равно?  

STP = STP*10; 

TKP = TKP*10;

И что же получается? Не правильней ли написать? 

STP = STP/10; 

TKP = TKP/10;

 

Зачем два раза идет повторение одного и того же кода в функции OnTick?

//--- Достаточно ли количество баров для работы
   if(Bars(_Symbol,_Period)<60) // общее количество баров на графике меньше 60?
     {
      Alert("На графике меньше 60 баров, советник не будет работать!!");
      return;

     }

и чуть подальше

//--- Имеем ли мы достаточное количество баров на графике для работы
   int Mybars=Bars(_Symbol,_Period);
   if(Mybars<60) // если общее количество баров меньше 60
     {
      Alert("На графике менее 60 баров, советник работать не будет!!");
      return;
     }
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

И для оптимизации неплохо было бы к динамичным массивам использовать ArrayResize: https://www.mql5.com/ru/docs/array/arrayresize

И еще интересное в документации прочитала:

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

https://www.mql5.com/ru/docs/series

Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 
На mql4 я запрограммировал свои несколько ea за несколько дней без всякого обучения, это было так просто. Я знаю десятки различных языков программирования (java, c, php, другие незначительные или устаревшие языки). Язык mql5 не так интуитивно понятен, как mql4. Жаль, что нет конвертера между языками. Придется глубоко вздохнуть и начать учиться...