Блог им. Svips

Наши руки не для скуки - рендомный робот для ЛЧИ

    • 02 октября 2015, 14:20
    • |
    • Svips
  • Еще
 Сидим мы значит скучаем. Рынок ходит туда сюда, вроде и движения есть но всеже cкукотища. Стали думать как можно разнообразить наши торговые будни. И тут вспомнили про конкурс ЛЧИ, который уже стартовал и набирает обороты. Хм, направление куда мыслить есть, осталось решить что именно придумать.
  — Просто следить за конкурсантами, выбрать себе любимчиков и болеть? Скучно.
  — Сделать ставки и заключить пари, кто из любимчиков вырвется в лидеры? Скучно.
  — Протрасить чужих роботов для разгадки алгоритмов? Хм… веселее, но нудно.
  — Запустить своего робота и болеть за него?  Хм… веселее, но страшно, что другие скучающие протрасят твоего робота...
  — Написать нового робота и запустить? Уахахаха, смешно… Хотя...
И тут мысли посыпались как из рога изобилия… И то и се… Но! Понятно, что прибыльного робота написать не так просто. А если вдруг получится прибыльно, то опять же попадаем под риск «угона» алгоритма. В этом случае надо сделать нечто такое, что бы и повеселиться, и нестрашно потерять было. Ну и да, конечно же. Получить очередной опыт и знания. Хм…

Задумка:

robot_Langise


Идея! Делаем элементарного робота на рандомайзе! Берем листок бумаги и накидываем алгоритм:
 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 готов! В понедельник стартуем!


Результат:



robot Langise

Попкорн и конструктивная критика по делу приветствуются.
 
★8
16 комментариев
Забавненько.
avatar
В принципе я тоже самое сделал ;)
avatar
SECRET, да все роботы такие — отличаются только настройки генератора случайных чисел.
avatar
SECRET, Будем значит сверять входы, а то может рендомайз подчиняется глобальному рендомайзу ;)
avatar
«Рынок ходит туда сюда»
Зачем вы сразу грааль рассказываете?
avatar
Alexey Kulikov,
туда-сюда и сюда-туда — это не одно и то же! )
avatar
отлично, интересно будет глянуть… исходники опубликуешь? может кто-то модернизирует под свой эксперимент и на ЛЧИ можно будет добавить еще 1 категорию «Open Source Fun Bot»
avatar
Дмитрий [Crypnaut], Полный исходник врядли, так как там движок под нашу платформу и мост на апи брокера. А логику алгоритма, можно подумать.
avatar
Присоединяюсь к просьбе про исходник. Всего две недели изучаю С#, хотелось бы увидеть, как открывать позиции, ставить стопы, тейки, трейлинги
avatar
Не скажу, с таким ником только и просить что-то показать! ))
avatar
Не скажу, примеров же достаточно в S#
avatar
Bite my shiny metal ass!
avatar
Pyrodjok, ))))))))))))))))
avatar
понаблюдаем
avatar
Молодец, идея на отличненько :) особенно если случайно выйдет в плюс по итогам 3 месяцев — можно годный троллинг устроить!
avatar
Turboslon, Да, будем посмотреть. По теории вероятностей, если не вмешиваться, то на длительном периоде должен быть в нуле. Но как бы узнать длину этого длительного периода )) что бы не загрести весь отрицательный период и остановиться перед началом прибыльного )
avatar

теги блога Svips

....все тэги



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