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

 
Aleksey Nikolayev #:

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

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

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

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

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

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

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

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

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

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

можно проще..цепляем Redis, получаем RedisAI с поддержкой PyTorch, ONNX, TensorFlow, при желании распределяем нагрузку по нодам и облакам

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

Ну, побыстрее ввязался в это дело чтобы поднять уровень по питону - без него теперь никак) Думаю начать с LightGBM. Для него вроде есть два способа получить ONNX - onnxmltools и skl2onnx.

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

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

Вы как хотите, но не откажусь даже от небольшого повышения скорости. Как при тестировании/оптимизации, так и при торговле.

 
Renat Fatkhullin #:
Обратите внимание, что нативное исполнение onnx моделей позволяет легко и очень быстро прогонять их в тестере и клаудной сети без системного оверхеда, что практически исключено при сторонних интеграциях.

Именно при проверке стратегии все эти 'чего такого потерять 50 мс на вызов' увеличат время тестирования в тысячи раз.
Боюсь что оптимизировать в облаке не выйдет. Смысл оптимизации в изменении параметров ТС. Например подбор ТП/СЛ. При их изменении изменяются данные для обучения. Т.е. надо обучать с каждыми вариантами параметров модель, а для этого должно быть установлено ПО МО (Катбуст, нейросеть и т.д.). Вряд ли в облаке у кого-то будет установлено требуемое ПО, нужной версии.

Так что обучение можно делать только в тестере на машине разработчика.
А готовую модель уже нет смысла загонять в облако.

 
Maxim Kuznetsov #:

можно проще..цепляем Redis, получаем RedisAI с поддержкой PyTorch, ONNX, TensorFlow, при желании распределяем нагрузку по нодам и облакам

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

 
Forester #:
Боюсь что оптимизировать в облаке не выйдет. Смысл оптимизации в изменении параметров ТС. Например подбор ТП/СЛ. При их изменении изменяются данные для обучения. Т.е. надо обучать с каждыми вариантами параметров модель, а для этого должно быть установлено ПО МО (Катбуст, нейросеть и т.д.). Вряд ли в облаке у кого-то будет установлено требуемое ПО, нужной версии.

Так что обучение можно делать только в тестере на машине разработчика.
А готовую модель уже нет смысла загонять в облако.

Справедливости ради, модель не обязательно является завершённой ТС. Например, модель предсказывает приращение цены, а в параметрах советника задаётся пороговое значение для предсказанного приращения, которое ТС пытается торговать.

 
Aleksey Nikolayev #:

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

IMHO это как раз про текущее развитие MQL. Попытка впихнуть внутрь всё и сразу вместо интеграций