Андрей К, за наводку на ninja trader спасибо, а то я все по-старинке в ворованный велз вывожу, а зачем он нужен, если слой стратегий у меня отдельно лежит
На пайтоне, наверное, тоже можно, но lua лично мне нравится тем, что
а) язык естественным образом оптимизирован для работы с данными
б) легко встраивается (для этого и создан) в С++ / C# / etc часть
То есть вместо того, чтобы городить лютый огород на пайтоне, мы просто разделяем проект на некоторую постоянную часть, которую уводим в C++ / C#, и изменяемую (конфигурационную), которую уводим в lua. С таким подходом, на мой взгляд, жизнь становится резко проще.
Если бы мне вдруг захотелось в кластерный анализ — просто сделал бы преобразовалку, которая сырые данные пережевывала бы и складывала в какой-нибудь удобный для этого формат, а отображение запилил бы через тот же Wealth-Lab, чтобы с графической частью не возиться. Если хочется динамики — ну, тут пришлось бы повозиться, конечно
Я просто коплю сырые данные, а потом сам их кручу-верчу, как мне надо. А то аппетит ведь приходит во время еды, а потом не будет именно того, чего тебе надо именно сейчас, чтобы в чем-нибудь убедиться. Хочешь сделать хорошо — сделай сам.
То есть взяли сырые данные, сложили куда-нибудь и пусть лежат. Из тестера всю обработку сырых данных вытащили в lua-слой, оттуда наладили выдачу синалов (не обязательно торговых, чего угодно, лишь бы что-нибудь проверить). Пришла идея в голову — написали на луа обработчик, что с сырыми данными делать, написали на луа обработчик, что делать с уже обработанными данными, кнопку нажали, глянули, видно что-нибудь или нет
3Qu, да, это, думаю, хороший подход. Вместо того, чтобы городить огород в одном месте, проще разнести по разным модулям, дать каждой стратегии вес и принимать решение на основании суммы сигналов с весами. Это резко снизит трудозатраты на разработку, доработку и тестирование.
В простейшем случае у нас есть стратегия «только лонг», генерирующая сигнал «1» или «0» с весом 1, и стратегия «только шорт», генерирующая сигнал "-1" или «0» с весом 1. Тогда суммарный сигнал у нас будет либо 1 (стратегия лонг сигналит, стратегия шорт нет), либо -1 (стратегия шорт сигналит, стратегия лонг нет), либо 0 (обе молчат либо обе сигналят)
Стратегия лонг сигналит всегда, когда должна сохраняться длинная позиция, стратегия шорт сигналит всегда, когда должна сохраняться короткая позиция. Тут возникают сложности в случае, например, восстановления после сбоя — нам придется восстановить контекст по историческим данным, и возникает ситуация, когда стратегия начала сигналить еще на истории, а сделку мы не открыли (сервак в это время лежал, например). Но это все решаемо
Мастодонт, я писал об этом вот здесь Стоп — это костыль, маскирующий отсутствие стратегии выхода. Если вы выкинете костыли до того, как срослись ноги (разработаете вменяемую стратегию выхода) — далеко вы, разумеется, не уйдете
Общая идея, я считаю, верная, но дальше начинаются детали. Реверсного сигнала можно вовремя и не дождаться, должны быть, я считаю, отдельные сигналы на вход и отдельные (гораздо более жесткие) сигналы на выход.
То есть сделку мы открываем по сигналу входа, а вот к моменту появления реверсного сигнала нас в ней быть (за редким исключением) не должно.
Но мысль о том, что тейки и стопы (в их общепринятом понимании) не могут улучшить торговлю, а могут ее только ухудшить, абсолютно верная. Рыночная ситуация развивается во времени и нужно реагировать на это развитие, а не играть в рулетку, расставив заявки на выход в момент входа и ожидая, какая раньше сработает
Пока владельцы депо в 100-200-300к пялятся в пятиминутный график и пытаются там чего-то высмотреть, никак не желая себе признаться, что высматривать там ровным счетом нечего, люди вообще по-другому деньги зарабатывают
Проблема только в том, что в этих двадцати барах (даже если все двадцать минутные) как минимум 19 будут рыночным шумом, анализировать который бессмысленно.
При счёте 5+мио комиссы волнуют не так сильно, как скорость и надёжность доставки, на скольззяках все равно потеряешь столько, что комиссы особой погоды не делают (если мы не про хфт говорим, но они через брокеров и не ходят)
Для алго раньше юзал itinvest с их когда то давно заработанной репутацией лучшего брокера для алго. Смартком это лютая дичь. К счастью, он помер, выбирал между тинькоф с их gRPC и финамом с транзак коннектором. Выбрал Финам, долго возился с написанием коннектора к ним, сейчас доволен. Тинькоф не знаю, кто-то их пользует в части gRPC?
Не «большинство индикаторов показывают только то, что произошло». ВСЕ индикаторы показывают только то, что произошло (индикаторов, которые выдумывают данные, чтобы показать то, что не происходило, я не знаю).
Malik, люди, ерничающие про «миллионы и миллиарды долларов», отродясь позицию больше 100 тыщ рублей на moex не выводили и слыхом не слыхивали про предел ликвидности стратегии :). Читаешь тут некоторых, 100 с хреном мультов вывел на РТС, 20 мультов прибыли снял, тут же перевернулся снова в плюс — аж слезы от зависти на глаза наворачиваются :)
" Обычно, робот покупает и сразу продаёт, растрачивая депозит на спреды и комиссии"
Ну уж не то, что бы обычно, обычно раза хватает, чтобы больше так не делать никогда, но хоть раз да столкнешься, у меня мульт так распылило за несколько секунд, неудачно релиз накатил на прод :)
Сидел ждал, думаю, если на планку ляжем — овернайт перенесу. На планку не легли, но ждал не зря — робот рассыпался из-за ошибки в многопоточности, пришлось экстренно руками все закрывать :). Сижу колупаюсь переписываю, надо же, из-за сраного мониторинга все развалилось