Пиши и зарабатывай на MQL5 - страница 90

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Особенности языка mql5, тонкости и приёмы работы

fxsaber, 2018.02.08 08:16

В MT5 у позиций нет комиссии (в отличие от MT4). Из-за этого есть свои особенности

  • В MT5 комиссия за открытие позиции, как и за закрытие позиции списывается сразу с баланса.
  • По этой причине Equity до закрытия всех позиций не показывает, чему будет равен Balance после закрытия.
  • Это значит, что рассчитать безубыток просто не получится в MT5.

Ы-ы-ы-ы... В некоторых случаях неизвестно чему будет равен баланс даже после закрытия позиции:))

 
Vasiliy Sokolov:

Ы-ы-ы-ы... В некоторых случаях неизвестно чему будет равен баланс даже после закрытия позиции:))

Да, но это не часто.

 

Совсем прошло незамеченным такое событие, как создание кастомных символов. Предлагаю написать статьи на такие темы:

  • Исследование характеристик пары ABC и генерация ценовой истории по найденным параметрам
  • Проверка оптимальных параметров советника на смоделированной истории
  • Математической моделирование временных рядов с помощью модели ...
  • еще куча тем была вчера ночью, не помню

Помню, лет 10-15 тема была популярна, народ генерил в Экселе - теперь можно все это делать не отходя от терминала. Вот вчера нашел обзор на хабре

Обзор моделей прогнозирования временных рядов: проба пера ...

Обзор моделей прогнозирования временных рядов: проба пера
Обзор моделей прогнозирования временных рядов: проба пера
  • 2021.05.13
  • habrahabr.ru
В рамках своей диссертации «Модель прогнозирования по выборке максимального подобия» мне нужно было делать обзор моделей прогнозирования. Кроме обзора, я сделала вариант классификации, который мне тогда не очень удался. Классификацию уже немного поправила, теперь хочется разобраться в существующих моделях прогнозирования временных рядов. Такие...
 

Еще тема по ветке Линковка двух окон между собой в МТ4 .  Можно в MQL5 решить объектами Chart - даже загружать шаблоны на них.

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

 

Еще одна тема для статьи - написать современную версию кода из статьи Визуализируй стратегию в тестере MetaTrader 5

В то время в Стандартной библиотеке не было классов для создания панелей и графиков. Сейчас всё это есть.

Цель - получить один готовый include-файл,  который каждый сможет добавлять к своему эксперту.

 
Другая тема для статьи - поиск тиковых паттернов. Для начала можно тренироваться на тестере.
 
Rashid Umarov:

Цель - получить один готовый include-файл,  который каждый сможет добавлять к своему эксперту.

"Реализация TP в виде лимитных ордеров без изменения оригинального кода советника".


Через поиск начальная инфа по теме

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

МТ4 или МТ5. Какие преимущества и недостатки?

fxsaber, 2017.12.27 11:23

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

МТ4 или МТ5. Какие преимущества и недостатки?

fxsaber, 2017.12.20 08:03

Что выбешивает людей в MT5, когда пытаются въехать после четверки (не любят четверку из-за костыльности почти во всем) и некоторых других платформ, так это TP в виде маркета. Это реально останавливает.


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

Не один я ненавижу TP в виде маркетов! Жуткая гадость после MT4.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

МТ4 или МТ5. Какие преимущества и недостатки?

fxsaber, 2017.12.27 11:51

В MT4 есть три реализации TP (отсортировал от лучшей реализации к худшей)

  1. TP открытой позиции - это ВЫСТАВЛЕННЫЙ лимитный ордер.

  2. При акцепте TP-уровня отправляется соответствующий лимитный-ордер.

  3. При акцепте TP-уровня отправляется соответствующий маркет-ордер.

В MT5 реализована самая примитивная схема - третья. Самая распространенная схема на MT4 - вторая. Самая правильная - первая.


На MT4 ECN/STP с первой схемой работы поясню на примере.

  1. Выставили BuyLimit = 1.2 вместе с TP = 1.3
  2. BuyLimit сработал (мог и частично), что вызвало автоматически выставление в ECN SellLimit = 1.3 на исполненный BuyLimit-ом объем. Этот SellLimit MT4 показывает просто в виде TP открытой позиции.
  3. Если удалю TP у открытой позиции, то этот SellLimit (который я в явном виде не вижу) просто удалится.
  4. Если модицифирую TP, то соответствующий SellLimit  в ECN модифицируется.
  5. Когда цена доходит до TP, то ничего терминалом никуда не отправляется. Смотрится, на какой объем исполнился SellLimit в ECN, и на этот объем в MT4 уменьшается соответствующая BUY-позиция.
В примере и BuyLimit и SellLimit влияют на цену. Например, если BuyLimit перед выставлением находится внутри спреда, то BuyLimit создает соответствующую Bid-цену. Если на момент исполнения BuyLimit его TP находится внутри спреда, то после исполнения уже Ask-цена станет равной TP. Т.е. ECN-ценообразование == биржевое.


ЗЫ Еще поясню. Третья схема реализации TP гарантирует, что TP будет исполнен, но не гарантирует цену исполнения. На тех же новостях очень легко получить огромное отрицательное проскальзывание. Вторая схема гарантирует цену исполнения (точно будет не хуже), но не может гарантировать исполнение - могут быть реджекты на часть объема. Первая же схема, как и вторая, но реджектов значительно меньше, т.к. нет лага, потраченного на отправку лимитника. И более того, лимитник виден другими клиентами, поэтому может быть зафиллен об маркет-запрос клиента. Т.е. реализовано сведение маркет-лимитник. Во втором случае сработает сведение "лимитник"-лимитник, что, конечно, так же уменьшает вероятность исполнения.


ЗЫЫ В первой схеме TP в виде выставленного лимитника не жрет маржу, потому что этот лимитник гарантировано предназначен для закрытия позиции, а не открытия. Первая же схема требует, чтобы можно было открыть несколько позиций ОДНОГО направления по одному символу. Т.е. такая схема противоречит MT5-неттингу. Хотя бы по этой причине первый вариант реализации TP в MT5 будет забракован сразу. Хотя на самом деле, основная причина - очень сложно отловить все подводные камни. По этой как раз причине на MT4 первая схема реализована у брокеров по пальцам одной руки (используют одно и то же стороннее решение). Так что логично в MT5 реализовать вторую (самую распространенную на MT4) реализацию TP.


Не проверял актуальность этого старого поста, поскольку сам пишу несколько нестандартно.


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


Сейчас после переписывания, например, канальных советников на лимитниках с четверки на пятерку происходит серьезная потеря в профите при одни[ и тех же ценовых фидах, т.к. TP в пятерке дают отрицательные проскальзывания, а в четверке - положительные (и реджекты).

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

 

I hope you don't mind me suggesting an article!

I want to suggest an article about creating history tick-data for MT5-back-tests out of a local tick-data repository in ascii-formate.
MQL5 now offers the creation of synthetic symbols one can use this to create the historic tick-data file for backtests/optimization in MT5 for EURUSD by creating the synthetic symbol EURUSD_syn (e.g.).

I guess a lot of MT4 users have built up a quite huge data base of tick-data, >100GB only as of 2007. For MT4 does exist possibilities to create fxt-files with tick-data so that every file for each timesframe has the same size with the same amount of ticks.
MT5 now offers the creation of artificial symbols and by that one should be able to create one owns local tick-data files out of such a local repository.

Advantages:
1) Even if the data-repository is on an external usb-disk it will be faster than a download via the internet.
2) No re-download due to another broker
3) Control of the quotes and the possibility to modify errors.

In general the tick data should have this ascii format:
yyyy.mm.dd HH:MM:SS.sss bid-price,ask-price,bid-volume,ask-volume
(The order may vary) 
Due to the size one should have the option to create historic tickdata-files of user defined timespans eg. 1, 2, 3 years if someone wants to backtest/optimize multiple symbols as one tick-datafile might become bigger that 3 GB (in MT4) guess about now 10 symbols ...

The handling becomes a lot easier if everything is local and is done within one night e.g. for one or more symbols.

Google translate has made of this:

Я думаю, что многие пользователи MT4 создали довольно огромную базу данных тиков,> 100 ГБ только по состоянию на 2007 год. Для MT4 существуют возможности для создания файлов fxt с тиковыми данными, так что каждый файл для каждого временного кадра имеет одинакового размера с таким же количеством тиков.
MT5 теперь предлагает создание искусственных символов, и тем самым нужно иметь возможность создавать собственные локальные файлы данных тика из такого локального репозитория.

Преимущества:
1) Даже если репозиторий данных находится на внешнем USB-диске, он будет быстрее, чем загрузка через Интернет.
2) Нет повторной загрузки из-за другого брокера
3) Контроль котировок и возможность изменения ошибок.

В общем случае данные тика должны иметь этот формат ascii:
yyyy.mm.dd HH: MM: цена bid, цена bid, bid-volume, ask-volume
(Заказ может отличаться)
Из-за размера один должен иметь возможность создавать исторические файлы tickdata пользовательских временных интервалов, например. 1, 2, 3 года, если кто-то хочет повторить / оптимизировать несколько символов, поскольку один файл тика-файла может стать больше, чем 3 ГБ (в MT4) догадываются о 10 символах ...

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

"Виртуальная Оптимизация".

Допустим, Вы провели длительную Оптимизацию по критерия maxBalance. Теперь Вы хотите работать с результатами Оптимизации, сортируя проходы по любым (придумываете на ходу) критериям Оптимизации. Вы можете задать OnTester и перезапустить честно Оптимизацию, получив в BruteForce-режиме тот же набор проходов или в ГА - иной. Это займет много времени и так поступают все.

Но в подавляющем большинстве случаев для этого не требуется запуск Оптимизатора. Достаточно просто обработать ранее посчитанные проходы и за считанные секунды получить то, что требуется. Для этого нужно только сохранить некоторые требуемые данные во время основной Оптимизации. MT5 это позволяет.

 

"Методы ускорения одиночного бэктеста"


Статья рассказывает о всех возможностях ускорения тестирования на основе использования кастомных символов.

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