Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2946

 
Aleksey Nikolayev #:

Очень хорошо. А какие версии и опсеты ONNX будут поддерживаться?

Все, которые появляются в открытом проекте ONNX Runtime.

 
Renat Fatkhullin #:

Все, которые появляются в открытом проекте ONNX Runtime.

onnx.defs.onnx_opset_version() пишет, что opset=17. Про версию в журнале МТ пишется 1.14.0, хотя вроде бы последняя версия ONNX 1.13.1

 
Aleksey Nikolayev #:

onnx.defs.onnx_opset_version() пишет, что opset=17. Про версию в журнале МТ пишется 1.14.0, хотя вроде бы последняя версия ONNX 1.13.1

А не, всё правильно. Это ONNX последняя версия 1.13.1, а ONNX Runtime последняя версия 1.14.1

 
Renat Fatkhullin #:

Набор функций по доступу к чартам/тикам/торговым позициям/истории сделок указан выше. Этого достаточно для прямой работы питоновских скриптов.

Возможно, мы добавим доступ к индикаторам.

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

Вряд ли можно сделать какой-то идеальный способ обмена, который устроит всех, поэтому костыльные методы на этапе разработки неизбежны. Главное - избежать костыльных методов на этапе запуска в тестере или на VPS.

 

Протестировал проект ONNX.Price.Prediction в новой версии МТ5 b3601. Вроде всё работает - обучение и вывод в питоне, вывод в МТ5 (dll для onnx удалил из корня и перезапустил терминал).

Можно ждать релиз и начинать попытки со своими модельками)

 
Aleksey Nikolayev #:

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

Вряд ли можно сделать какой-то идеальный способ обмена, который устроит всех, поэтому костыльные методы на этапе разработки неизбежны. Главное - избежать костыльных методов на этапе запуска в тестере или на VPS.

Вопрос передачи индикаторов и произвольных данных (например строки) в питон затрагивает бизнес интересы MetaQuotes.

Если все это разрешить, то MT превращается из посредника между брокером и клиентом в просто удобный инструмент для написания стратегий и индикаторов.

МТ поставляет котировки и при этом очень быстрый и надежный - отличный элемент для встраивания в торговую систему. Разрешить передавать в питон строку - значит закрепить эту роль терминала.

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

Говоря проще: пишешь советник => запускаешь на BTCUSD => через скрипт на питоне торгуешь на Binance => спасибо МетаТрейдеру что он есть.

 

Я вообще не понимаю зачем все эти навороты с ONNX.

Есть очевидный базовый сценарий как подружить MT5 и МО:
1. из OnInit() запускается питоновский скрипт как отдельный процесс.
2. нужно пара функций обмена инфой между питоном и советником, в режиме когда советник может ждать поступления инфы.
3. делаем папочку Models и кидаем в нее модели TensorFlow

ВСЁ!!! Интеграция MT и МО случилась! Все довольны.

 
Evgeny Dyuka #:

Я вообще не понимаю зачем все эти навороты с ONNX.

Есть очевидный базовый сценарий как подружить MT5 и МО:
1. из OnInit() запускается питоновский скрипт как отдельный процесс.
2. нужно пара функций обмена инфой между питоном и советником, в режиме когда советник может ждать поступления инфы.
3. делаем папочку Models и кидаем в нее модели TensorFlow

ВСЁ!!! Интеграция MT и МО случилась! Все довольны.

Такая интеграция есть с R. Только непонятно, зачем R нужен на VPS и зачем нужны проблемы по поддержке его связки с МТ (контроль версий языка и пакетов и тд). С питоном будет всё то же самое.

Есть ещё момент связанный со скоростью, который очень важен в нашем деле. Посмотрите, как fxsaber выцарапывает миллисекунды в постоянной борьбе с метаквотами, поскольку они превращаются в пункты прибыли. Очевидно связка чего угодно с чем угодно будет работать медленнее, чем обе программы по одиночке.

Казалось бы, что может быть очевиднее...

[Удален]  
Aleksey Nikolayev #:

Протестировал проект ONNX.Price.Prediction в новой версии МТ5 b3601. Вроде всё работает - обучение и вывод в питоне, вывод в МТ5 (dll для onnx удалил из корня и перезапустил терминал).

Можно ждать релиз и начинать попытки со своими модельками)

Одним костылем меньше, сильно расширится круг используемых моделей (до этого в основном все оптимизировали веса через инпуты терминала). Видимо, на маке тоже должно заработать, скоро проверю :) иногда лучше ничего не делать и подождать пока еда сама залетит к тебе в рот
 
Aleksey Nikolayev #:

Такая интеграция есть с R. Только непонятно, зачем R нужен на VPS и зачем нужны проблемы по поддержке его связки с МТ (контроль версий языка и пакетов и тд). С питоном будет всё то же самое.

Есть ещё момент связанный со скоростью, который очень важен в нашем деле. Посмотрите, как fxsaber выцарапывает миллисекунды в постоянной борьбе с метаквотами, поскольку они превращаются в пункты прибыли. Очевидно связка чего угодно с чем угодно будет работать медленнее, чем обе программы по одиночке.

Казалось бы, что может быть очевиднее...

Эту легенду про важность скорости я слышу постоянно, но не могу понять в каком месте это важно.
Учитывая спред и комиссии бирж/брокеров, прогнозировать надо на время измеряемое десятками минут или часами. При чем тут разница в 50 миллисекунд?
Как конкретно в реальной жизни вам помогает победа MQ над fxsaber на 5 миллисекунд ?