Сидим мы значит скучаем. Рынок ходит туда сюда, вроде и движения есть но всеже cкукотища. Стали думать как можно разнообразить наши торговые будни. И тут вспомнили про конкурс ЛЧИ, который уже стартовал и набирает обороты. Хм, направление куда мыслить есть, осталось решить что именно придумать.
— Просто следить за конкурсантами, выбрать себе любимчиков и болеть? Скучно.
— Сделать ставки и заключить пари, кто из любимчиков вырвется в лидеры? Скучно.
— Протрасить чужих роботов для разгадки алгоритмов? Хм… веселее, но нудно.
— Запустить своего робота и болеть за него? Хм… веселее, но страшно, что другие скучающие протрасят твоего робота...
— Написать нового робота и запустить? Уахахаха, смешно… Хотя...
И тут мысли посыпались как из рога изобилия… И то и се… Но! Понятно, что прибыльного робота написать не так просто. А если вдруг получится прибыльно, то опять же попадаем под риск «угона» алгоритма. В этом случае надо сделать нечто такое, что бы и повеселиться, и нестрашно потерять было. Ну и да, конечно же. Получить очередной опыт и знания. Хм…
Задумка:
Идея! Делаем элементарного робота на рандомайзе! Берем листок бумаги и накидываем алгоритм:
0) Символ, где будем торговать? Ну… мы любим фъючерс на индекс РТС. Это было просто.
1) Генератор сигналов — рандомайз. Хм… Какой рандомайз? Быххх, да штатный C# и какой бы он там не был. Так, а как он будет, лупить всегда в рынке, или с перебоями? Всегда в рынке может получиться накладно, сделаем два рандомайза. Первый задержка в минутах до следующего сигнала, воторой непосредственно сигнал. Отлично. Получаем вход:
1.1) Сгенерить случайное число в минутах по прошествии которых робот сгенерит сигнал.
1.2) Сгенерить сигнал на вход и войти в рынок.
Отлично, с этим разобрались. Теперь что с манименеджментом? Так так… Ну что, раз рандомайз, то давайте и проверим правило соотношения убыточной сделки к прибыльной.
2) Возьмем 1 к 2. Т.е. за лося возьмем 500 пунктов, за профит 1000 пунктов. Хм… Как то скучновато. Давайте добавим трейлинг сюда. Да, точно, так соотношение еще может сократиться, да и поживее будет ити торговля.
2.1) Стартовый стоп 500п, тейк 1000п
2.2) Трейлинг: Если текущая цена минус 500 пунктов больше/меньше цены трейлинг стопа, то передвинуть стоп на полученную цену.
2.3) Если достигли прибыли 1000п то закрыли позицию.
Так так, как то слишком просто, и чего то не хватает… Давайте подумаем… М… усложним задачу, вернее внесем элемент «разноса» страты. Быххх… Давайте если мы в минусе по счету и вдруг достигли профитной сделкой плюса по счету, то сразу закрываться. Теоретически это даст возможность дольше держаться у нуля при убыточных днях. Хм… бред? Ну да проверим.
2.4) Если по счету минус, и бумажная прибыль его перекрывает, то закрыть сделку.
Так это есть, теперь… м… О! еще идея, а давайте добавим еще рендомайз на выход? Уаахахах! Точно! Т.е. когда мы в позиции, то в «любой» момент может сработать рендомайз на выход. Так… интересно, а как же это реализовать то?? О, есть идея! После входа сгенерим значение, которое покажет, надо ли в этой сделке пытаться генерить сигнал на выход. Да точно!
2.5) Получить флаг генерации рендомайзного выхода.
2.5) Если флаг рендомайзного выхода есть, то сгенерить по нему сигнал, если сигнал отличный от текущей позиции, то выйти.
Так, время торговли? Все сессии или только день? С одной стороны робот, пусть вкалывает все время. С другой стороны, робот ужасный ))) и нужен только для веселья, а по ночам мы не веселимся… Да… Не будем расбрасываться деньгами и отведем ему рабочее время 10:00-18:45. Решено.
3) Торговля разрешена в период 10:00-18:45.
Ну вот, вроде веселый и достаточно запутанный алгоритм получился )) Интересно прибыльный или нет? ))
Постойте, давайте отдышимся… А зачем мы вообще это все затеяли? Повеселиться? Да. А опыт какой? М… Ну… проверим случайный ли рынок или нет… Годится!
Два дня кодинга и вуаля…
robot_Langise готов! В понедельник стартуем!
Результат:
Попкорн и конструктивная критика по делу приветствуются.
Зачем вы сразу грааль рассказываете?
туда-сюда и сюда-туда — это не одно и то же! )