Перейти к содержанию

Обучение языку MQL4 под MetaTrader 4


Рекомендуемые сообщения

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Сортировка ордеров не гарантируется. Нужно сохранять в массив, и сортировать по дате.
Здесь есть пример: https://www.mql5.com/en/forum/138127

  • Лайк 4
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 6,8k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Смотрим видео-уроки, изучаем MQL:       Скачать видеокурс «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт»   P.S. Тема про Обучение MQ

Перейти

Циклы цикл for Иногда необходимо повторять одно и то же действие несколько раз подряд. Для этого используют циклы. К примеру, мы хотим проанализировать последние 10 баров и выяснить наименьшую цен

Перейти

Речь идет о том, что не будет значимых нововведений. А только баги периодически будут править. А вот все новое мол - в МТ5. Когда они вживую сказали то же самое на конференции в Москве, я уточнил: "То

Перейти
Обучение языку MQL4 под MetaTrader 4 Опубликовано

В коде сделки закрываются по Стопу или Тейку.


В комментарии к ордеру, закрытому по Стопу, сервер добавляет приставку [sl]: "expertname[sl]". Соотетственно, для подсчета ордеров, закрытых по Стопам, надо после функции OrderSelect для истории ордеров, организовать проверку ордера по признаку "expertname[sl]"
Если же возможно ручное закрытие убыточного ордера, то тогда можно использовать параметр "OrderProfit
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Я пробовала перебирать закрытые одера функцей OrderSelect(trade,SELECT_BY_POS,MODE_HISTORY) и отбирать убыточные, но поняла, что данная функция перебирает ордера в случайном порядке.

Открытые ордера сортируются по времени открытия и тикету, закрытые по времени закрытия!


Не факт. В описание функции Select в справочнике написано:
При последовательном выборе ордеров с помощью параметра SELECT_BY_POS информация отдаётся в том порядке, в котором она поступила с торгового сервера. Никакая сортировка полученного списка ордеров не гарантируется.


Добавлено: 14-12-2018 07:54:48


Сортировка ордеров не гарантируется. Нужно сохранять в массив, и сортировать по дате.



Спасибо ) Буду разбираться

Добавлено: 14-12-2018 08:04:59


В коде сделки закрываются по Стопу или Тейку.


В комментарии к ордеру, закрытому по Стопу, сервер добавляет приставку [sl]: "expertname[sl]". Соотетственно, для подсчета ордеров, закрытых по Стопам, надо после функции OrderSelect для истории ордеров, организовать проверку ордера по признаку "expertname[sl]"
Если же возможно ручное закрытие убыточного ордера, то тогда можно использовать параметр "OrderProfit


Спасибо. Про приставку не знала, отбирала с помощь OrderProfitПросто посчитать все закрытые в убыток ордера я могу, пока не получается закрытые подряд, так как OrderSelect перебирает их не подряд. Изменено пользователем Larcher
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано



Я пробовала перебирать закрытые одера функцей OrderSelect(trade,SELECT_BY_POS,MODE_HISTORY) и отбирать убыточные, но поняла, что данная функция перебирает ордера в случайном порядке.

Открытые ордера сортируются по времени открытия и тикету, закрытые по времени закрытия!
Не факт. В описание функции Select в справочнике написано:
При последовательном выборе ордеров с помощью параметра SELECT_BY_POS информация отдаётся в том порядке, в котором она поступила с торгового сервера. Никакая сортировка полученного списка ордеров не гарантируется.
Я знаю, что написано в справочнике - на то он и справочник... Я пишу о своём личном фактическом опыте. Для решения Вашей задачи этого было-бы достаточно, но если хотите сортировать, то я только ЗА - получите бесценный опыт.
ПС: не забудьте ограничить каким-то условием выгрузку исторических ордеров в массив для сортировки и анализа, иначе в длительных тестах, при большом кол-ве закрытых ордеров, столкнётесь с зависающим терминалом.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

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


Вот накидал код с сортировкой и проверкой на 3 последний убыточных по профиту.
Естественно история должна быть обновлена правой кнопкой в терминале.

Read_History_Orders_Profit.mq4

  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Народ, как заново скачать курсы по кодингу? Электронку вписал в поле. Но, т.к. я уже подписан на рыссылку, то письмо с ссылкой для скачки не приходит.

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Мне тоже не пришла ссылка.. Я в Ютубе нашел и оттуда скачивал.
https://www.youtube.com/watch?reload=9&v=s69mnJjq8tE&index=2&t=56s&list=PLBTFLv4NSBStaPQ5SGM9llMq5qrbU57sQ
Там , справа от видео, все уроки есть... Если не знаешь, как качать с Ютуба , скачай прогу GetVideo.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Но, т.к. я уже подписан на рыссылку, то письмо с ссылкой для скачки не приходит.


Мне тоже не пришла ссылка.


В таких случаях и не только помогают сервисы "Почта на 10 минут". Вот что я получил!

Ссылки на онлайн и оффлайн версии курса курса

Здравствуйте, дорогой друг! Посмотреть видеокурс "MQL4 Программирование" вы можете двумя способами:

1) Онлайн версия Доступна по ссылке:
http://tradelikeapro.ru/wppage/videokurs-mql4-programmirovanie/

2) Оффлайн версия
Если вы предпочитаете более старомодный способ просмотра, вы можете скачать курс в виде отдельных видео-уроков в комплекте с оболочкой для запуска и наслаждаться просмотром, даже без участия интернета. Например где-то на даче, долгими зимними вечерами...)
Вот ваша ссылка на скачивание архива с видеокурсом "MQL4 Программирование" :
https://s3.amazonaws.com/tradelikeapro-blog-files/courses/MQL.rar

P.S. Также вы можете скачать этот курс с торрент-трекера:
https://rutracker.net/forum/viewtopic.php?t=4718091

С уважением, Власов Павел
TradeLikeaPro.ru

Да и не забываем про сам сайт http://tradelikeapro.ru/category/uroki-po-mql/ Изменено пользователем MikR0ReR
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Народ, есть у кого декомпиляторы ex4?

после 600 билда нет, даже не слышал...
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Приветствую!
Есть ли возможность рассчитывать уровень безубытка с учетом комиссии и свопов? Как для отдельного ордера так и для группы ордеров как в одну сторону, так и для всех вообче.

Если есть такой способ опишите плз алгоритм или кусок кода.
Спасибо!

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Есть ли возможность рассчитывать уровень безубытка с учетом комиссии и свопов? Как для отдельного ордера так и для группы ордеров как в одну сторону, так и для всех вообче.

У Эзопа красноречию учились? :d
Я уже написал в Вашей ветке:
дист БУ = текущий PL с комис+своп / ( суммЛот * MarketInfo( NULL, MODE_TICKVALUE ) )

ПС: только со знаком разберитесь... - имеется в виду если тип ордеров бай и они в просадке (может быть наоборот), то направление БУ положительное от текущей цены.
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

0ll, я увидел твой ответ уже после того как здесь написал, спасибо еще раз :)

А почему именно у Эзопа? говорунов в истории и без оного было в достатке :))

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Народ, новые уроки по кодингу будут?)))
Хотелось бы что-то про обработчика событий OnChartEvent(...). Пример панельки какой-нибудь. 8-> 8->

Изменено пользователем geugene
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Что значит PL


Текущие Профит/Лосс.
Вот только использование MarketInfo( NULL, MODE_TICKVALUE ) ИМХО, не всегда дает точный результат (кроме мажоров с обратным котированием)- безубыток будет актуален на момент его расчета. Когда же цена дойдет до ТП/СЛ, TICKVALUE изменит свое значение..
В тестере же вообще TICKVALUE берется на момент поступления последней котировки в терминал :(( .
Это все про МТ4 Изменено пользователем usver73
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Уважаемые комрады, есть ли функция быстрого вызова окна необходимого символа, еси нет, то есть ли возможность быстро прокручивать символы внизу терминала без утомительного нахождение онного символа и тыканья в него кликом + если символов много надо еще тыкать стрелку так так много символов на графике не умещаются, а у меня их 36(тестирую сигнальный советник собирающий все сигналы с других советников в один график).

Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Alt+W. Ещё, расположить мозаикой - при двойном клике на название вкладки, окно переходит из полноэкранного вида в оконный, и обратно.

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

В тестере же вообще TICKVALUE берется на момент поступления последней котировки в терминал.

Если принципиально - можно и самому на каждом тике корректировать ;) , но думаю в большинстве случаев не потребуется.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Хотелось бы что-то про обработчика событий OnChartEvent(...). Пример панельки какой-нибудь.


Вот например мой ответ с примерчиком, тык!

Текущие Профит/Лосс.


Что значит "Лосс"
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Текущие Профит/Лосс.

Что значит "Лосс"
Откуда пошло обозначать текущий фин. результат группы ордеров через PL - я не знаю, только после Вашего вопроса, да и то не сразу, дошло, что в МТ такого понятия нет, а я привык - даже в коде переменные так обозначаю...


Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

В итоге я понял, что PL обозначает сумму прибыли и убытка группы ордеров.Я называю просто "профит". И в следствии этого формула расчета Без Убытка такова:
уровень без убытка =профит(PL)+комиссия+своп/(сумма лотов*MarketInfo(NULL,MODE_TICKVALUE))

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано


Хотелось бы что-то про обработчика событий OnChartEvent(...). Пример панельки какой-нибудь.


Вот например мой ответ с примерчиком, тык!


Ни о чем. Эти строки я и справочнике видел.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

Ни о чем. Эти строки я и справочнике видел.

В соседней ветке делали панельку - там наглядно использовали OnChartEvent, читай.
Ссылка на сообщение
Поделиться на другие сайты

Обучение языку MQL4 под MetaTrader 4 Опубликовано

В старом скрипте нашел такие операторы:
while(t>0)
{
t>>=1;
period|=t;
}

Если меняю t>>=1 на t>=1 то получаю предупреждение "expression has no effect". По логике, такой цикл не имеет смысла.
Сочетание "|=" мне вообще непонятно.

Прикол в том, сам скрипт работает и выполняет свою функцию.

Изменено пользователем geugene
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...