Самообучение языку MQL5 с полного нуля - страница 57

 
MrBrooklin:

Продолжаю обучение языку программирования MQL5. Ранее был опубликован код цикла, запускающего перебор открытых позиций. Теперь, после того, как был запущен цикл, начинаем работу с символом на текущем графике:

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

С уважением, Владимир.

Print("Выбираем позицию на символе ", PositionGetSymbol(i), "Тикет", i);

Комменты содержащие данные практичней.

 
Valeriy Yastremskiy:

Комменты содержащие данные практичней.

Спасибо, Валерий! Ваш вариант сообщения более информативный. Сразу внесу изменения в коде.

С уважением, Владимир.

 

Уважаемые специалисты в программировании!

Объясните пожалуйста два вопроса:

  1. Первый вопрос про Magic Number - он создается во входных параметрах только для отложенных ордеров и открытых позиций (или только для открытых позиций?), или для самого советника его тоже можно создавать? И если ответ "можно", то с какой целью это нужно делать.  Просто у меня путаница в голове с этим вопросом, а толкового ответа пока не нашел.
  2. Второй вопрос про Magic Number - если на текущем графике несколько открытых позиций, то для определения каждой из позиций можно применить такой входной параметр:
input int Magic_Number=-1;

Возможно, что у меня вообще не правильное понимание о применении Magic Number в программировании.

С уважением, Владимир.

 

Хотя в статье Артема Тришкина https://www.mql5.com/ru/articles/7394#node02 есть разъяснение, но до конца его так и не понял, т.к. слишком сложно он всё расписывает.

С уважением, Владимир.

 
MrBrooklin:

Уважаемые специалисты в программировании!

Объясните пожалуйста два вопроса:

  1. Первый вопрос про Magic Number - он создается во входных параметрах только для отложенных ордеров и открытых позиций (или только для открытых позиций?), или для самого советника его тоже можно создавать? И если ответ "можно", то с какой целью это нужно делать.  Просто у меня путаница в голове с этим вопросом, а толкового ответа пока не нашел.
  2. Второй вопрос про Magic Number - если на текущем графике несколько открытых позиций, то для определения каждой из позиций можно применить такой входной параметр:

Возможно, что у меня вообще не правильное понимание о применении Magic Number в программировании.

С уважением, Владимир.

А зачем Вам Мэджик сейчас? Ну вот действительно, какой смысл сейчас с ним заморачиваться? Очевидно что трейлинг стопа будет использоваться как элемент полуавтоматической торговли: кто-то выставил ордер, а эксперт его начинает тралить. Какая разница, кем выставлен ордер? Если другой робот его выставил, а Вы запустите трал, то и его ордер эксперт начнет тралить. Если не запустите трал - то не начнет. Это именно тот случай когда маджик не нужен. Если вдруг он резко потом понадобится, то потом и напишите.

 
MrBrooklin:

Хотя в статье Артема Тришкина https://www.mql5.com/ru/articles/7394#node02 есть разъяснение, но до конца его так и не понял, т.к. слишком сложно он всё расписывает.

С уважением, Владимир.

Вот это точно не надо читать.

 
MrBrooklin:

Продолжаю обучение языку программирования MQL5. Ранее был опубликован код цикла, запускающего перебор открытых позиций. Теперь, после того, как был запущен цикл, начинаем работу с символом на текущем графике:

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

С уважением, Владимир.

Вы опять не с того начинаете, к тому же код содержит ошибку. Начните с функций. Напишите каркас алгоритма используя только свои собственные функции. Потом будем думать как из реализовать. Начните со стандартного шаблона, который открывается при создании нового эксперта в metaeditor.

Трейлинг лучше для начала сделать для нетто-счета. Так будет проще работать с позицией, потому что она там будет только одна по инструменту. Во второй версии можно будет переделать в гибрид.

 
Vasiliy Sokolov:

А зачем Вам Мэджик сейчас? Ну вот действительно, какой смысл сейчас с ним заморачиваться? Очевидно что трейлинг стопа будет использоваться как элемент полуавтоматической торговли: кто-то выставил ордер, а эксперт его начинает тралить. Какая разница, кем выставлен ордер? Если другой робот его выставил, а Вы запустите трал, то и его ордер эксперт начнет тралить. Если не запустите трал - то не начнет. Это именно тот случай когда маджик не нужен. Если вдруг он резко потом понадобится, то потом и напишите.

Здравствуйте, Василий! По поводу Magic Number всё понятно, а заморочка пошла из-за того, что мне это настоятельно рекомендовал Андрей Новичков вот здесь

С уважением, Владимир.

 
Vasiliy Sokolov:

Вот это точно не надо читать.

Понятно.

С уважением, Владимир.

 
Vasiliy Sokolov:

Вы опять не с того начинаете, к тому же код содержит ошибку. Начните с функций. Напишите каркас алгоритма используя только свои собственные функции. Потом будем думать как из реализовать. Начните со стандартного шаблона, который открывается при создании нового эксперта в metaeditor.

Трейлинг лучше для начала сделать для нетто-счета. Так будет проще работать с позицией, потому что она там будет только одна по инструменту. Во второй версии можно будет переделать в гибрид.

Стандартный шаблон создал. В нём и начал писать код, а здесь стал выкладывать те фрагменты, которые уже написаны. По поводу каркаса алгоритма со своими функциями не додумался, спасибо, что подсказали! Также спасибо за подсказку про неттинг-счёт!

Если не секрет, то в чём ошибка кода?

Если здесь:

 for(i; i>=0; i--)

то уже исправил на:

 for(i; i>0; i--)

С уважением, Владимир.

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