Блог им. den40

3 варианта создания роботов. (личный опыт)

В этой статьи я опишу 3 варианта создания роботов.

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


OsEngine

плюсы:

все в одном. Можно скачать дату, сделать бэк тесты и запустить в лайв из одного софта. Это очень удобно. 

минусы:

Тяжело для новичков. 

Нужно знать C# чтобы сделать своего робота, C# я знаю плохо и он мне не нравится.


Открыл, понажимал кнопочки, повспоминал C# и понял, что я не готов опять программировать на C#. Скорее всего это какие-то флешбеки из института. Но мне просто не нравится этот язык программирований. 

Заниматься тем, что вам не нравится это плохо…


TradingView + Wonderbit

Как это работает смотрим пост №2

плюсы:

очень просто написать и протестировать стратегию.

минусы: 

очень сложно запустить 10+ роботов. (из опыта)

у вас нет контроля за исполнением сделок. У меня несколько раз сделки “не исполнились” из за лагов платформы. Возможно мне не повезло…


Потратив неделю на тесты, стало понятно, что этим невозможно пользоваться. Поймал несколько неисполнений сделок, по сути это потеря денег. Возможно это проблема моей стратегии, она торговалась на 1М тафмрейме. 


Python и библиотека ccxt

плюсы:

вы контролируете вообще все.

минусы:

логику работы нужно писать самому. 


Весь код боевого робота занимает 120 строк. Большая часть — это работа с таблицей для подсчета параметров для входа в сделку, стопов и тейков.

ccxt — библиотека для унификации работой с биржей. Если бинанс сольется, то перейти на другую биржу можно будет за 1 минуту. 


Гуру скажут, что Денис балабол, так как на чистом python достаточно сложно делать бэк тесты, так как разработка платформы для бэк тестов займет много времени. 


Но я нашел выход, все бектесты проходят в Backtrader, а параметры для входа в сделку считаются через библиотеку Ta-lib. Так мы избегаем того, что на истории и в лайве у нас будут расхождения.


Еще нам нужно будет где-то скачивать данные. Но за одно обращение к серверу бинанс, мы получим только 1000 свечей. Обойти это просто, полный код доступен здесь.


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








★23
40 комментариев
Бек тесты на чистом питоне элементарно делаются, и очень, очень быстро работают. совершенно никаких проблемм нет прогнать массив в несколько миллионов значений
Алексей Никитин, есть какие нить простые статьи на эту тему? )
avatar
Андрей К, да какие там статьи,  данные из файла прочитал, нумпай массив приготовил, и погнал в цикле торговлю торговать ))
Чего там сложного ) я 20 гигов данных гоняю и норм
Алексей Никитин, По-моему чтобы в рамках нампая что-то делать циклом и оставаться быстрым это нетривиальная задача). Цикл это медленно, векторный нампай это быстро. А то, что вы описываете это как?
avatar
Replikant_mih, ну без цикла я не умею тестеры делать
Алексей Никитин, Ну просто чтобы по нампай массиву быстро итерироваться это же надо как-то силами нампая делать — я вот не умею).
avatar
Алексей Никитин, понятно. такой подход в моих рамках мира слабо верифицирован )


avatar
Андрей К, тестер — это всего лишь цикл и больше в тестере ничего нет. Внутри цикла крутится стратегия. Все
Че, цикл написать сложно? На эту тему статьи нужны? Да где ж их взять-то про циклы.))
avatar
3Qu, 
Че, цикл написать сложно?
мне сложно )
хотелось коробочное решение, проверенное хотя бы тысячью человек )
avatar
Алексей Никитин, В пандасе?)
avatar
Алексей Никитин, я не супер программист. Очень интересна реализация.
Там же еще потом нужно прикручивать модули статистики и прочее… Получается не быстро. Но в любом случае будет интересно посмотреть вашу реализацию.
avatar
Denis Stelmak, а кто здесь суперпрограммист. Суперы, они на питонах не пишут )))
Алексей Никитин, 
тиковые данные по Si за сегодня (день еще не окончен) содержат 431878 строк.
Несколько миллионов значений в данном разрезе это меньше, чем день. Чего там про питон?
Дмитрий Овчинников, Там же в гигах было, а не миллионах).
avatar
Replikant_mih, 
где там? 
Дмитрий Овчинников, Ну сверху файл 20 гигов упоминался. Ну или я нить какую-то потерял).
avatar
Replikant_mih, 
я вот на этот комментарий отвечал:



Дмитрий Овчинников, ну, правильные алгоритмисты делают на ордерлогах, 5 гиг день ))))
Алексей Никитин, 
на питоне разумеется?
Дмитрий Овчинников, нонча говорят питон модный пошел и не уступает си ))))
Алексей Никитин, 
ну да, ну да.....
еще говорят теперь GPT сам пишет все.
Дмитрий Овчинников, 10 ярдов от мелкософта ))))
Алексей Никитин, 
алготрейдеры и программисты уже не нужны! ИИ все сделает за вас! нужны лишь реквизиты вашей кредитной карты и cvv код,  туда будут приходить деньги с биржи. любой, на выбор, не важно :)
Алексей Никитин, 
 нонча говорят питон модный пошел и не уступает си
может речь про cpython?
я даже представить не могу, сколько часов уйдет, чтобы питон подгрузил ордерлог за день, сумел собрать стакан по нему и прогнал тест стратегии
avatar
Андрей К, ну можно rapids пользовать, например их датафрейм «пандас на дрожжах gpu» все будет быстро.. 
avatar
Так а зачем изобретать велосипед если есть МТ5 и MQL5? Прост, достаточно развит, понятен, с большим сообществом и достаточно проработанной документацией?
avatar
Roman S, Пользовался MT4 15 лет назад. Вариант рабочий.
avatar
Roman S, Затем, что MT5 всегда, с самого начала, затачивался под «правильных» брокеров.
avatar

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

 

Я щас тоже на питоне). Начинать лучше с какой-то готовой платформе где есть и бэктестер и данные и исполнение. А дальше как душа позовёт).

avatar
Replikant_mih, был и Excel, и VBA Excel, и Basic и С# и по простому, С++. Сейчас Python. И никогда ни в какой готовой платформе нужды не было.
avatar
3Qu, Ну простую стратегию чтоб на коленке отбэктестить на голом питоне можно и за пару часов сваять, конечно. Но чтобы и тестить полноценно и каждый раз много времени лишнего не тратить и чтобы код один и тот же не писать и чтобы исполнение и чтобы всякие защиты и чтобы удобство и прочее и прочее — тут то либо кучу времени сначала инестируешь в инфраструктуру либо готовую платформу используешь).
avatar
А в чем прикол и секрет то где?)
avatar
Искусственный Интеллект надо создать.
avatar
Sata Sat, настоящий искусственный интеллект осознает положение вещей в текущем мире и за бесплатно работать не будет, придется с ним договариваться о ДУ :)
avatar
Meta Trader уже не в моде?
avatar
А где ТСЛаб, Weath-Lab в этом списке? Сразу видно с какого ресурса вы пришли))) OsEngine))
Балабанов Александр 💎, вас пометка в названии темы не смущает? 
avatar
Denis Stelmak, Осе уже RIP. По ней был такой лютый хайп, что тема вышла в топы, и Мартынов от испуга удалил. Из архива интернета web.archive.org/web/20221024211709/https://smart-lab.ru/blog/848645.php
avatar
У меня на обычном QLua всё работает. И работает же.
avatar
к питону не забываем прикрутить PyQT чтобы был интерфейс. Питон+визуальный интерфейс=боль. Это не шарп, где всё работает из коробки.
Не знаю что представляет из себя библиотека ccxt, но на 99% уверен что логику ботов всё равно надо писать самому, вряд-ли это есть в какой то библиотеке. А если там только коннекторы, ну это тогда только часть бота, важная, не спорю, но не та которая приносит деньги и после написания пары ботов уже и так имеющаяся у любого программиста.
avatar

теги блога Denis Stelmak

....все тэги



UPDONW
Новый дизайн