neophyte
neophyte личный блог
18 августа 2016, 08:05

Ах, это просто прелесть - сотрясение мозгов



Вчера вечером по просьбе коллеги начал экспериментировать с трейлинг-стопом по эквити для портфельной торговли.

Есть у меня для этого экспериментальная модель робота, своего рода конструктор, из которого можно собирать все что угодно в любых комбинациях. Но этой возможности в нем еще не было.



Вроде все сделал как надо, запустил на экспериментальном счете, поставил уровень цели по эквити +100%, трейлинг по эквити на 5%, и ушел спать.

Просыпаюсь утром, мать моя женщина!
Робот за ночь такого наторговал....

Ах, это просто прелесть - сотрясение мозгов

 


Первым делом он закрыл все имеющиеся к тому моменты прибыльные позиции. А потом и начал открываться по сигналам и тут же закрывать.В общем хрен знает что.

Хорошо что я сразу не посмотрел на его художества. Иначе ночь точно спать не пришлось бы. А так у меня испорчено только утро.
Встал в 6 часов попить водички, глянул на монитор и офигел от неожиданности и полного непонимания.

Что эта железяка выделывает совершенно непонятно.
Точнее, выделывает она то, что хозяин приказал, а хозяин в собственных приказах разобраться не может.
Вроде логика алгоритма примитивная, проще быть не может и все понятно. Ан нет, что-то не учел или в стартовых условиях или в процессе работы с присвоением значений переменным.
Два часа пытался решить проблему, мозги вскипали, ан нет.  Дошло до того, что усомнился в понимании роботом правил арифметики, и основания для этого тоже казалось были.
Но результатом всех моих действий было только ускорение падения в конце графика баланса, приведенного вверху.

И только к концу второго часа что-то в мозгах забрезжило. Забыл старое правило: «Машина дура и делает то, что ты ей написал в программе, а не то, что ты от нее хотел бы получить.»
Переписал модуль, ставлю на комп и иду заваривать кофе, потому что чаем меня в чувство привести уже не получится.

А в целом после такой перегрузки нужно уже не работать, а весь день пить пиво с фисташками. Чем я наверное и займусь.
Это если все удачно выйдет. Если же нет, то пропал человек, а все из-за того, что кому-то понадобился трейлинг-стоп по эквити. :)

P.S. Честно говоря, программирование — дело молодых. В моем возрасте уже нужно сидеть за полированным столом в кабинете и раздавать указания через секретаршу. :)
16 Комментариев
  • Дмитрий Л
    18 августа 2016, 08:11
    Попили водички)
      • Дмитрий Л
        18 августа 2016, 08:24
        Николай Скриган, как я понимаю на реале запустили эксперементального?
          • Дмитрий Л
            18 августа 2016, 08:37
            Николай Скриган, я просто спросил без всяких подколок)
  • TovaL
    18 августа 2016, 08:27
    «Первым делом он закрыл все имеющиеся к тому моменты прибыльные позиции. А потом и начал открываться по сигналам и тут же закрывать»

    Ошибка где-то. Бывает. Выводите после каждого действия командой print  в журнал значения переменных и предпринимаемые действия, думаю быстро разберетесь. Потом принты комментарятся, на случай если понадобятся снова.

    В тестере всё то же самое.
      • TovaL
        18 августа 2016, 08:49
        Николай Скриган, а как же режим визуализации, чем он от риала отличается кроме скорости?

        В моей практике роботописания был такой смешной случай, в очень большом коде, вероятно в результате копирования похожего куска, но с другими условиями, я не заменил "<" на ">". И сколько не смотрел на этот код, побуквенно проигрывая логику, глаз видать замылился и не тот знак сравнения не замечал прямо в упор. Взгляд через журнал, где было написано что-то типа «Сигнал жопа =0. В панике закрываем сделку» помог. Одно дело код смотреть или даже визуализацию, другое такие понятные комментарии анализировать. Ну по крайней мере я теперь пользуюсь, затраты сокращает.
          • TovaL
            18 августа 2016, 09:32
            Глядя на строчку я думаю что она работает правильно. Не вижу в упор не тот знак сравнения. Комментарии ставлю не так что «эта строчка делает то-то», а так, что логика остается вне комментариев. Из этого и понимаю, что действия пошли не по той логике, которую я задумал и записал в коде.

            Если речь об эквити, кстати, значит возможно вы анализируете закрытые ордера. Там, если я всё правильно помню, есть нюанс, робот видит закрытые ордера за тот период, который показан в вашем терминале. Возможно тут проблема. Так же с порядком выдачи вам ордеров у них чехарда, они этот порядок даже меняли от билда к билду. Может поможет эта инфа.
  • Поликарп Брусникин
    18 августа 2016, 08:33
    Только руками можно заработать, никогда вы в продолжительном периоде не заработаете на роботах
      • Поликарп Брусникин
        18 августа 2016, 09:28
        Николай Скриган, у меня нет опыта в роботах. Зачем тратить время на то что не работает. Рынки постоянно меняются, невозможно постоянно зарабатывать на одних и тех же алгоритмах.

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

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