Svips
Svips личный блог
02 октября 2015, 14:20

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

 Сидим мы значит скучаем. Рынок ходит туда сюда, вроде и движения есть но всеже 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

Попкорн и конструктивная критика по делу приветствуются.
 
16 Комментариев
  • Шилов Егор
    02 октября 2015, 14:29
    Забавненько.
  • SECRET
    02 октября 2015, 14:31
    В принципе я тоже самое сделал ;)
    • bstone
      02 октября 2015, 15:35
      SECRET, да все роботы такие — отличаются только настройки генератора случайных чисел.
  • akuloff
    02 октября 2015, 14:46
    «Рынок ходит туда сюда»
    Зачем вы сразу грааль рассказываете?
    • VladMih
      02 октября 2015, 15:16
      Alexey Kulikov,
      туда-сюда и сюда-туда — это не одно и то же! )
  • Дмитрий [Crypnaut]
    02 октября 2015, 14:46
    отлично, интересно будет глянуть… исходники опубликуешь? может кто-то модернизирует под свой эксперимент и на ЛЧИ можно будет добавить еще 1 категорию «Open Source Fun Bot»
  • Не скажу
    02 октября 2015, 14:59
    Присоединяюсь к просьбе про исходник. Всего две недели изучаю С#, хотелось бы увидеть, как открывать позиции, ставить стопы, тейки, трейлинги
    • VladMih
      02 октября 2015, 15:14
      Не скажу, с таким ником только и просить что-то показать! ))
    • Hash
      02 октября 2015, 15:22
      Не скажу, примеров же достаточно в S#
  • ICWiener
    02 октября 2015, 15:27
    Bite my shiny metal ass!
  • Чёрный кот
    02 октября 2015, 16:09
    понаблюдаем
  • Turboslon
    02 октября 2015, 22:10
    Молодец, идея на отличненько :) особенно если случайно выйдет в плюс по итогам 3 месяцев — можно годный троллинг устроить!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн