Наконец допилил модель автоматической торговой системы (ТС) на Python, все вполне устраивает. Реализация, естественно, планируется тоже на Python. Вопрос стал только за выбором коннектора к бирже — дальше не вопрос. Тут мы и приехали.
Пару лет назад пробовал Python коннектор от Unicorn — открытый код и все такое. Очень, уж, подробно не рассматривал, все что нужно есть, неплохо работает, понравился. Естественно, и сейчас этот коннектор скачал, попытался приконнектиться к бирже: и так его, и этак — не работает. Оказалось, теперь он платный, лицензия — 10$/месяц или 100$/год. Вроде, код открытый — смотри, пробуй — не, лицензия так вшита, что, по крайней мере, быстро не выковыришь.
Не беда, на GitHub несколько бесплатных есть. Скачиваю — смотрю код — там, то DLL непонятного назначения, то сделано криво. Попался один бесплатный, вроде, даже ничего, от известного разработчика (чтобы не рекламировать, называть не буду). Поставил на комп, попробовал, вроде коннектится, все что нужно делает, сделан на основе известных библиотек — вроде никаких подводных камней.
Начал смотреть код (код открытый) — мама родная — понакручено, чтобы дойти до самого коннекта, одна функция вызывает другую, та третью и т.д. И так везде. Там и другие странные вещи сделаны. Ну, и результат — все работает с большими задержками. Не подвисает, т.к. никакой нагрузки еще нет, но все уже оч медленно. Ну, медленно, это миллисекунды, но уже даже визуально это видно, и если нагрузить это индикаторами и ТС, то коннектор просто встанет.
Приужахнулся, и на пару недель все встало. А чего делать-то?
И решил я, таки, написать свой коннектор к бирже на Python. Ну, очень не хотелось, но, все-таки сел за это дело.
В итоге, заняло все это 3 дня. Три дня, Карл! Вся функциональность есть, коннектор летает, задержки наносекунды. Измерял — 60-70 нс.
Итак, что мы имеем:
1. Самоподдерживающийся коннект с биржей.
2. Историю 1м любой глубины.
3. Обновление 1м свечей через каждые 0.2 с.
4. Буферизованную реал-тайм таблицу сделок с произвольным доступом к буферу.
5. Реал-тайм буферизованные данные по стакану с произвольным доступом к буферу.
Биржа еще много всяких данных передает, и это все можно легко получить, но это пока не нужно, и за ненадобностью я этим не занимался.
Понятно, можно посылать и контролировать заявки, данные по счету и пр.
Если кто знает «советник» МТ5, то вся функциональность этого «советника» уже присутствует в этом коннекторе. Ничего больше не нужно. Кроме того, коннектор еще и асинхронный и поддерживает многопоточность, чего в МТ5 по жизни никогда не было.
Знакомый работает или пытается работать (эт не знаю) с OS Engine и ему, вроде, это даже нравится. Он говорит, что А.Ван доведет до ума эту Энжину примерно через год. Я и подумал, что если мой коннектор попробовать приконнектить через Lua к Квик. Оказалось, вполне элементарно, только немного скриптов Lua написать, ну и типы рыночных данных под Квик поменять. Вопрос пары вечеров. Естественно, предложил этот вариант знакомому, однако он отказался — будет еще год допиленную Энжину ждать (про Энжину я ничего не знаю, только передаю некое мнение).
Ну, как-то так получилось с коннектором.
Не встречал ни одного кто реально использует это. Пробовали, ужасали, убегали — таких историй полно. А успешных нет.
Люди реально верят, и думают, что они становятся программистами )
Думаю, что в нем и 5% нет того, что можно накрутить в советнике MT5 :))))))))))))))
А то брокер опять комиссию повысил в 2,5 раза (как и в Сбере).
А вообще как странно у нас построена экономика! Посредники/перекупщики имеют доходы в разы выше производителя. Что ни возьми: что продукты в магазинах, что цветы, что фрукты/овощи, что станки/железяки, что оборонка… Ну, и биржевые инвесторы/спекулянты, которые, по определению, являются производителями ликвидности, — тоже в роли побирушек.
Может развернуть мысль о чём речь? А то выглядит как какой-то набор слов.
Можете уточнить что за «определение» такое, что — инвесторы/спекулянты, «которые, по определению, являются производителями ликвидности»? Т.е. откуда у Вас уверенность в том что биржевые инвесторы/спекулянты должны быть кем-то кто как-то влияет на ликвидность? Они просто участники торгов как и Вы и ничего не должны никому(если не заключали какие-то договора например маркетмейкерские или ещё какие-то). Инвестор, спекулянт, да кто угодно может создавать ликвидность, может её забирать и это на своё усмотрение. Те кто создаёт ликвидность конкурируют между собой делая более дешёвой торговлю для тех кто её забирает. Те кто забирает помогает тем кто её создаёт(исполняя их ордера). Все довольны кроме тех кто не умеет торговать. Если коммисию сделать 0(а она такой может быть в зависимости от брокера, рынка, и типа ордеров) то те кто жалуются всё равно не будут зарабатывать т.к. потом у них будет виноват кукл, ЦБ, биржа и т.д. и т.п. т.е. все кроме них.
Пишите эффективные алгоритмы чтобы комиссия была небольшой частью профита. Не можете, ну значит не судьба. «Побирушки» как Вы выражаетесь, создают ликвидность, делают узким спред(когда конкурируют между собой(!!! не с кем-то а между собой)) что в свою очередь даёт приемлемую цену которая устраивает тех кто забирает ликвидность(например арбитражёры) и происходят сделки/активность/волотильность и т.п. без «побирушек» стаканы будут «мёртвыми и дырявыми» и объёмов не будет т.к. будет дорого торговать и невозможно взять здесь и сейчас нормальный объём а только сопли возить вверх-вниз обнуляя счёт. Те кто создаёт ликвидность(особенно стоит хорошими объёмами) они стоят чаще всего против рынка(такова его механика и с этим ничего не поделать), конкурируют между собой и т.д. а это риски которые надо как-то отбивать. Поэтому разговоры про «должны, побирушки» и т.п. это от непонимания. Они равносильны разговорам по пьяни на кухне о политике, космосе, технологиях и т.п. вещах в которых мало понимания.
И вот эту дичь можешь пояснить:
Ты не родственник Бузовой? ezomm не твой друг?
И немного выше твой коментарий
«скока»? Это что за русский письменный?
Вот ссылка на комментарий если что - «smart-lab.ru/blog/1127448.php#comment17977599»
Да уж «специфические» бывают коллеги на Смартлабе.)
Помнится, лет цать тому, как у меня подвисал код С++ под Квик-Луа вместе с Квиком. А, казалось, с чего бы ему. Можно и на С++ код сделать медленным, было бы желание.)
Уже сейчас есть экспериментальный JIT компилятор — подождем когда внедрят в серийный Питон.
Недавно удивился — оказывается для Python есть библиотека оконного интерфейса. Заглубляться не стал — но факт интересный.
В Quik'е даже есть такой вариант подачи заявок извне.
не рекламы ради.
У Игоря Четет выложены в открытый доступ коннекторы на питон.
ссылка на гитхаб
ест к квику, алору, финаму тинькову.
Теперь вопросы по делу по ТС (так как сам сейчас кручу Cuda и Numba) и грею атмосферу так сказать.
1) размеры TP, SL (так сказать робастность стратегии по заветам Вана))
2) трендовые? (чем фильтруешь типа SMA? что-то еще напиши плз)
3) Считали Profit Factor/ max Drawdown (может Шарп) перед запуском?
Вопросы мне сильно актуальные по возможности ответь без шуток потому что сейчас пересматриваю отношения к торговле своей. Респект за труд
1. Заветы Вана не знаю. Размеры TP & SL — так это и от инструмента зависит и от стратегии, и от ситуации на рынке. Не знаю, что здесь сказать.
2. На мой взгляд, они все трендовые.) 15 минут, это уже тренд. Это по вкусу. Как-то так. Стандартными индикаторами не пользуюсь. Только при ручной торговле через терминал. Ну, а там ЕМА и Боллинджер.
3. Нет, не считал, не использую. Для оценки пользуюсь обычными стат. методами. Слышал о таком, но ничего о нем не знаю. Но у меня другие задачи, не под Квик. А, вот, коллеге скажу, может ему пригодится. Возможно, он и сам увидит, он сюда захаживает.)