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

 
MrBrooklin:

Здравствуйте, Петер! Рад, что Вы снова на связи. С одной стороны Вы правы по поводу сложности задачи, с другой стороны эта задача заставила меня посмотреть на самообучение под другим углом. Так, что ничего страшного в этом нет. Мало того, если самостоятельно разберусь с трейлинг стопом и предоставлю всем на обозрение готовый результат, то это будет моей малюсенькой победой в изучении языка MQL5.

Сейчас сознательно не выкладываю никаких написанных строчек кода и комментариев, потому что мне нужно самому, без посторонней помощи, добиться хоть какого-нибудь результата. Задача по трейлинг стопу предельно ясна, первоначальная помощь от участников данной темы получена, теперь всё только зависит от меня самого. Нужно только терпение.

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

Понимаю важнейшую роль сверхзадачи в самообучении и надеюсь у Вас получится написать простейший вариант самостоятельно, но тут вот какое дело: 

Намного более интересным чем трейлинг является инструментарий языка - условия, циклы, функции и многое другое, что позволяют реализовывать фантастические вещи, среди которых трейлинг лишь песчинка в океане.) Владение этим инструментарием откроет двери в новый, удивительный и неведомый Вам ранее Мир. 

Странно наблюдать человека, восхищающегося рамкой картины "Мона Лиза" Леонардо, как странно увлечение трейлингом в обход функций, циклов и массивов, т.е. намного более интересных вещей, позволяющих решать ЛЮБЫЕ задачи. Конечно, это понимание приходит не сразу.

Желаю достижения поставленной цели!
 
Реter Konow:
Понимаю важнейшую роль сверхзадачи в самообучении и надеюсь у Вас получится написать простейший вариант самостоятельно, но тут вот какое дело: 

Намного более интересным чем трейлинг является инструментарий языка - условия, циклы, функции и многое другое, что позволяют реализовывать фантастические вещи, среди которых трейлинг лишь песчинка в океане.) Владение этим инструментарием откроет двери в новый, удивительный и неведомый Вам ранее Мир. 

Странно наблюдать человека, восхищающегося рамкой картины "Мона Лиза" Леонардо, как странно увлечение трейлингом в обход функций, циклов и массивов, т.е. намного более интересных вещей, позволяющих решать ЛЮБЫЕ задачи. Конечно, это понимание приходит не сразу.

Желаю достижения поставленной цели!

Благодарю, Петер, за пожелание! Поверьте, не всегда можно понять человека, особенно тогда, когда его совсем не знаешь. И ничего в этом страшного нет.

В процессе написания кода советника с рабочим названием Trailing Stop, периодически заглядываю в данную тему, т.к. являюсь инициатором её создания и поэтому нужно отвечать на заданные мне вопросы. Вот когда уже будет, что показать, тогда станет намного интересней общение.

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

 
Можно в ветвь интересное финансовое видео.
Очень интересно, дословно, кто не будет владеть программированием, в ближайшем будущем, будет типа челика с ограниченными возможностями.... примерно с 40 й минуты об этом
Вот

https://youtu.be/aVqismh5zJI
 

Всем доброго дня и хорошего настроения!

Мой карантин закончился и опять вернулся к нормальному режиму работы. Очень жаль, что теперь стало меньше времени для самообучения. За время отсутствия значительно продвинулся в изучении языка программирования MQL5 и написании кода советника. Пока не обращаюсь за помощью к участникам данной темы, т.к. не хочу отвлекать специалистов от важных дел. Это во-первых. Во-вторых, самостоятельный поиск ошибок даёт возможность гораздо глубже изучить язык. Сроки для написания полного кода советника себе не ставлю, поэтому и не гоню лошадей. Так лучше усваивается изученный материал.

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

 
Vasiliy Sokolov:

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

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

Здравствуйте, Василий! Надеюсь, что с ошибкой в коде цикла разобрался. Нужно было написать так:

   for(int i=PositionsTotal()-1; i>=0; i--)

Всё остальное делаю, как Вы посоветовали. Ещё раз спасибо!

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

 

Всем привет и хорошего настроения!

Продолжаю изучение языка MQL5. Долгое время топчусь на месте, т.к. не могу понять одну простую вешь. Написал код, который должен открывать позицию Buy объемом 0.1 лот в 9:00 и закрывать её принудительно в 23:50, если в течении торгового дня не сработает ни стоп-лосс, ни трейлинг стоп. Код разместил в функции OnTick(). На данный момент, при запуске тестера стратегий в течении 1-2 секунд открываются две позиции Buy по 0.1 лот каждая. Если лот уменьшаю, например, до 0.01, то в течении 8-10 секунд открываются 22 позиции. Начальный баланс 50000 руб. Валютная пара EURUSD. Предполагаю, что это это как-то связано с тиками и маржой. На сайте, много информации просмотрел, но пока без результатно.

Уважаемые специалисты, подскажите, пожалуйста, что нужно сделать или какое условие нужно задать, чтобы открывалась только одна позиция с указанным лотом и не более?

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


 
MrBrooklin:

Уважаемые специалисты, подскажите, пожалуйста, что нужно сделать или какое условие нужно задать, чтобы открывалась только одна позиция с указанным лотом и не более?

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

Привет! Установить ограничение открытых позиций;

input int               MaxOpenedPositions=1;
//ниже подсчёт открытых позиций, код Вы уже начали писать)

for(int i=PositionsTotal()-1; i>=0; i--)
 
VVT:

Привет! Установить ограничение открытых позиций;

Здравствуйте!

Спасибо за подсказку. Често говоря, мои мысли уже были направлены на то, чтобы каким-нибудь образом запретить обновления котировок после открытия первой позиции. Попробую ограничить количество открытых позиций.

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

 
MrBrooklin:

Всем привет и хорошего настроения!

Продолжаю изучение языка MQL5. Долгое время топчусь на месте, т.к. не могу понять одну простую вешь. Написал код, который должен открывать позицию Buy объемом 0.1 лот в 9:00 и закрывать её принудительно в 23:50, если в течении торгового дня не сработает ни стоп-лосс, ни трейлинг стоп или ни тейк профит. Код разместил в функции OnTick(). На данный момент, при запуске тестера стратегий в течении 1-2 секунд открываются две позиции Buy по 0.1 лот каждая. Если лот уменьшаю, например, до 0.01, то в течении 8-10 секунд открываются 22 позиции. Начальный баланс 50000 руб. Валютная пара EURUSD. Предполагаю, что это это как-то связано с тиками и маржой. На сайте, много информации просмотрел, но пока без результатно.

Уважаемые специалисты, подскажите, пожалуйста, что нужно сделать или какое условие нужно задать, чтобы открывалась только одна позиция с указанным лотом и не более?

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


если позиций с нашим магик и на нашем символе равно нулю то проверяем время и открываем позицию, если равно 1 то не открываем позицию, проверяем время закрытия и тралим, если более 1 то Алерт и не работаем. Можно в свич, можно в иф проверки делать.

 
Valeriy Yastremskiy:

если позиций с нашим магик и на нашем символе равно нулю то проверяем время и открываем позицию, если равно 1 то не открываем позицию, проверяем время закрытия и тралим, если более 1 то Алерт и не работаем. Можно в свич, можно в иф проверки делать.

Здравствуйте, Валерий! Спасибо Вам за совет. С оператором if-else уже немного подружился, теперь и оператор-переключатель switch тоже нужно освоить. А функцию Alert() обязательно применять или она для большей информативности нужна?

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

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