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

От xbms, 13 апреля, 2013 в Уголок Программиста

#5351

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

#5352

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


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


Я пробовала перебирать закрытые одера функцей 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 перебирает их не подряд.

Изменено 14 декабря, 2018 пользователем Larcher

#5354



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

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

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


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

Read_History_Orders_Profit.mq45 скач.

#5356

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

#5357

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

#5358

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


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


В таких случаях и не только помогают сервисы "Почта на 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/

Изменено 14 декабря, 2018 пользователем MikR0ReR

#5359

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

#5360

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

после 600 билда нет, даже не слышал...
#5361

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

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

#5362

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

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

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

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

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

#5364

дист БУ = текущий PL с комис+своп / ( суммЛот * MarketInfo( NULL, MODE_TICKVALUE ) )


Что значит PL
#5365

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

Изменено 19 декабря, 2018 пользователем geugene

#5366

Что значит PL


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

Изменено 19 декабря, 2018 пользователем usver73

#5367

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

#5368

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

#5369

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

Если принципиально - можно и самому на каждом тике корректировать ;) , но думаю в большинстве случаев не потребуется.
#5370

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


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

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


Что значит "Лосс"
#5371


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

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


#5372

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

#5373


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


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


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

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

В соседней ветке делали панельку - там наглядно использовали OnChartEvent, читай.
#5375

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

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

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

Изменено 21 декабря, 2018 пользователем geugene

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

Перейти к списку тем
Форум · 2.0.20260627.0025