Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть V). Классы и коллекция торговых событий, отправка событий в программу"

 

Опубликована статья Библиотека для простого и быстрого создания программ для MetaTrader (Часть V). Классы и коллекция торговых событий, отправка событий в программу:

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написания программ для платформы MetaTrader 5 и MetaTrader 4. В четвёртой части мы протестировали отслеживание торговых событий на счёте. В данной части создадим классы торговых событий, поместим их в коллекцию событий, откуда они будут отправляться в базовый объект библиотеки Engine и на график управляющей программы.

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


Записи же из обработчика событий советника в журнал выводиться не будут — они работают не в тестере. Если на демо-счёте покликать по кнопкам советника, то в журнал терминала будут выводиться три строки: две строки от метода вывода коротких сообщений класса CEvent и одна строка — из обработчика OnChartEvent() советника.

Пример вывода в журнал советника при установке и удалении отложенного ордера:

- Pending order placed: 2019.04.05 23:19:55.248 -                                                              
EURUSD 0.10 Sell Limit #375419507 at price 1.14562                                                             
OnChartEvent: id=1001, event=TRADE_EVENT_PENDING_ORDER_PLASED, lparam=375419507, dparam=1.14562, sparam=EURUSD 
- Pending order removed: 2019.04.05 23:19:55.248 -                                                             
EURUSD 0.10 Sell Limit #375419507 at price 1.14562                                                             
OnChartEvent: id=1002, event=TRADE_EVENT_PENDING_ORDER_REMOVED, lparam=375419507, dparam=1.14562, sparam=EURUSD


Автор: Artyom Trishkin

 
Интересно, как библиотека справляется с массой торговых нюансов. Поэтому, наверное, стоит попробовать пройти хотя бы начальный тест

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

Меньше кода, больше прока.. пишем советник

fxsaber, 2019.03.12 21:46

Это задание вполне можно считать начальным тестом на умение писать торговлю под MT5. Так что каждый желающий может попробовать свои силы.

 
fxsaber:
Интересно, как библиотека справляется с массой торговых нюансов. Поэтому, наверное, стоит попробовать пройти хотя бы начальный тест

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

 
Artyom Trishkin:

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

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

 
Artyom Trishkin: отслеживание событий неттингового счёта будет опубликовано в следующей статье, затем 
библиотека будет автоматически определять и работать как с неттинговым счетом, так и с хеджевым типом счетов?
 
fxsaber:

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

Я плотно занялся разбором таких ситуаций. Надеюсь, получится их все обрабатывать корректно.

Интересно немого иное - на базе описываемой библиотеки будут созданы user-case функции для простого доступа к данным, собираемым и хранящимся в библиотеке, для использования торговых классов, и соответственно - для простого и лёгкого создания программ на её основе.
Хотя уже в том виде, что есть - есть возможность её использования, но на более низком уровне доступа - по указателям на списки коллекций, а из них - по указателям на любые их данные. Но это не соответствует заявленным в самом начале "претензиям" на лёгкость создания своих программ на основе библиотеки. Но это ведь лишь начало :)

 
Igor Makanu:
библиотека будет автоматически определять и работать как с неттинговым счетом, так и с хеджевым типом счетов?

Да. Уже. В следующей статье будет опубликовано.

 
Artyom Trishkin:

Да. Уже. В следующей статье будет опубликовано.

Правда пока только работа с историей счёта и рыночным состоянием. Затем можно будет на основе собираемых данных получать историю любой позиции на любом типе счёта. Включу в планы.