Блог им. Crazy_Trading

Тяжкая жизнь программиста, или на пути к мультитаймфреймовому роботу.

мультитаймфреймовый… жесть какая… пришлось по слогам проговаривать чтобы написать правильно, и то не уверен что правильно написал ))) 

ВСЕМ ПРИВЕТ!
продолжаю писать робота...
хорошо выхи были, с утра до ночи писал )) 

иногда всетаки хорошо что то новое начать писать на основе старых алгоритмов, начинаешь приводить в порядок, причесывать код, находить старые ошибки )) 

сначала писал в МТ4, но там эти особенности входа не по тем ценам по которым нужно, как и выхода тоже — спред дело такое… ага… в общем перешел в НИНЗЮ. 
пишу в ней. 

сразу скажу — мне без разницы где писать, хоть в экселе, так как сейчас задача — алгоритмически формализовать все идеи, протестировать всю математику всех методов. и потом прогнать на истории желательно реал котировок, с учетом наполненности стакана. МТ4 этого не даст, в IB писать сразу и код робота и оболочку под него — коннектор к АПИ для меня не реально, а потому в нинзе кодю )) 

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

и первая незадача, и чо с ним дальше делать? поскольку в нем нет торговых функций, то я в нинзе никак, от слова ВАЩЕНИКАК не смогу проверить что там мой код вычисляет. 

на График робот не цепляется, запустить его можно только в анализаторе стратегий, а там показывается только результат торговли.. 

а какая нафик торговля если я в реале не знаю что там мой робот вычисляет? может у него там 2+2 примерно 5 или 6 )) как вообще дебагить черные ящики которые НИКАК не отображают свою внутреннюю работу? 

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

с утра воскресенья, опять за дело, врубаю нинзю, Тулз->ЭдитНинзяскрипт-> выбираю своего робота, бабах… открывается диалоговое окошко
КРЕЙТ А НЬЮ СТРАТЕДЖИ !!!!

чо???? вотафак??? 

у меня там как минимум пара сотен строчек кода, какой КРЕЙТ НЬЮ??? в общем никак нинзя не хотела возвращать мне мои драгоценные выжатые из моего стареющего ума строчки (( 

ну ладно… нет так нет, чо, я суть помню, ок, убью воскресенье и напишу заново… но лень матушка она спасительница… рождается идея — залезть в папку со скриптами и просмотреть на моего робота через БЛОКНОТ. авось всетаки нинзя не убила код?

нашел папку, залез в код, и… АЛЛИЛУЙЯЯ!!! вот они родненькие все мои строчечки ))) сидят на месте, ждут папку.. 
но проблема черного ящика так и осталась нерешенной… а продолжать дальше — тоесть внедрять торговые функции, не убедившись что там с математикой — это бредовая идея… и опять в раздумиях чо блин делать то.. 

в итоге перенес весь этот код в новый индикатор, прописал кучу всякой всячины туда еще, чтобы наглядно отображались все результаты вычислений… и понеслась родимая по кочкам )) 

как же хорошо, когда есть возможность сразу видеть результат того что делает программа.)) 

в общем вот: 

Тяжкая жизнь программиста, или на пути к мультитаймфреймовому роботу.

4 таймфрейма.
каждая черточка — это бар непосредственно своего таймфрейма. 
серый цвет — далеко от уровня.
цветной — проторговка уровня.
зеленый вверх, красный вниз соответственно. 

далее стоп / двойной стоп
далее тиков до уровня и цена уровня  

на скрине последние 100 баров каждого Таймфрейма. эт я ради прикола сделал… на самом деле достаточно последних 10 — 15 баров. 

в итоге получилось примерно так: 

Тяжкая жизнь программиста, или на пути к мультитаймфреймовому роботу.

ну и все… математика работает на отлично, сбоев нет… ну и решил я таки в коде индикатора полностью реализовать все свои идеи вплоть до торговых, конечно торговать с индикатора нинзя не позволит, но мне особо и не надо, важно чтобы видеть наглядно что когда где кому и за что )) 

в частности индикатор уже дает сигнал 
торговля или нет
если торговля то вход от, стоп тут, тейк там )) 

большое спасибо всем тем программистам которые откликнулись на мою просьбу и дали дельные советы в моей прошлой теме! я с вашего позволения вас еще помучаю. 








    5.4К | ★6
    29 комментариев
    Как торговать по этому изобретению?
    avatar
    ATR в основе?
    Нэш Ван Дрейк (Кот Скрипаля), нет
    avatar

    Сурово.

    Методов дебага «чёрных ящиков» довольно много.

    Начиная с настоящего бега прямо из среды выполнения.

    Например Visual studio или Idea Rider.

    И заканчивая квазидебагингом.

    Когда работающая программа записывает данные куда-то.

    К примеру в файл.

    Или представляет их в неком визуальном виде.

    Тарас Громницкий, 
    привет Тарас, так вся фича в том, что в нинзе нереально выгрузить результаты просчета..
    может у меня нинза забагованная, но нацепить на график робота я не могу, только в тестере через табличный метод могу его прогнать )) 

    с этим я буду разбираться много позже, когда будет готов робот ))
    avatar

    Тихая Гавань, протестируйте на истории малой кровью.

    А после можно что-то решать с реалтайм роботом.

    Это должно быть стабильно и качественно.

    И минималистично, чтобы меньше накосячить.

    Тарас Громницкий, дак все к тому и идет..
    вручную такое крайне сложно тестировать… глаз очень быстро замыливает отслеживать одновременно 4 совершенно разных таймфрейма один из них с минутами, а три тиковые с разными периодами. 

    потому  и пишу " визуализатор" принятия торговых решений, чтобы не глазами по 4 мониторам бегать, а все в одном графике видеть
    avatar

    Тихая Гавань, это нормально.

    Неизбежная эволюция.

    Кстати, с мутифрейменностью баловался.

    Есть решение, где на входе тики или некие бары базового фрейма.

    А на выходе бары избранного фрейма(кратного базовому).

    Тарас Громницкий, ну я это уже давно воплотил даже в МТ4 )) голову сломал но сделал.. 

    а в нинзе с этим проще
    avatar
    Тихая Гавань, и история у вас хранится и дополняется в режиме реального времени?
    Тарас Громницкий, зачем? она на лету генерится, все в доли секунды делается. 
    avatar

    Тихая Гавань, короткая история делается, а длинная никак.

    Особенно если торгуемых инструментов пара десятков.

    Тарас Громницкий, возможно вы правы, так как у меня графический анализ, то мне не важно какие бары суммируются в один нестандартный таймфрейм, 

    мне нужны только ХАЙ и ЛОЙ нового бара, так что я не заморачиваюсь с опен/клоз и временем открытия такого бара.. 
    я в одном цикле прогоняю всю историю котировок и на лету формирую хай лой искомых баров, и так же на лету произвожу с полученными таймфреймами математические операции… как только я получил обработанные данные, мне этот бар перестает быть интересным и программа его забывает переходя дальше по циклу.
    avatar
    Тихая Гавань, ТС, ты в окне стратегий выставил галочку для разрешения торговать конкретной стратегии? да и как она тебе выдает в тестере результаты, если не торгует (не посылает ордера)? да и как бы к IB все замечательно подключается и торгует, но только опционы не поддерживаются
    avatar
    cfree0185, 
    1 — зачем мне выставлять галочку если торговых функций пока нету? 
    2 — никак
    3 — я в курсе что подключается, вопрос не в брокере а в программном обеспечении.. 
    писать под АПИ IB или писать под нинзю. 
    avatar
     конечно торговать с индикатора нинзя не позволит

    Справедливости ради - 

    ninjafutures.ru/resources/charttrader-dlja-besplatnoj-versii-ninjatrader-7.22/
    avatar
    Vkt, уважаемый зачем такой справедливый, и такой не внэматэльный? а? 
    я вообще то про робота говорю и прописанные торговые функции внутри индикатора что нинзя ни в коем случае не позволит сделать..

    а вы мне про ручную торговлю с графика… Ээ…
    avatar
    Тихая Гавань, там как раз реализованы торговые функции внутри индикатора нинзи. Я лично делал индикатор, который делал сделки по двум инструментам одномоментно, типа парный трейдинг.

    avatar
    Vkt, а вот это уже интересно, спасибо!
    в чем тогда прикол? в чем разница между индикатором и стратегией в нинзе? 
    avatar
    Тихая Гавань, я то откуда знаю, это к разработчикам вопрос.

    avatar
    Vkt, ))))
    avatar

    Тихая Гавань, тут я могу только догадываться.

    По логике индикатор — это некая функция цены, а стратегия — это набор правил по покупке/продаже.

    кину ка я ложечку дёгтя в вашу бочку с мёдом ))

    всё это программирование конечно круто,
    сам обожаю созидать, ради спортивного интереса,

    но вот беда, читал как то я научную статью с Бломберга, от Julius Bär

    так вот заключение было такое, что не стоят все эти
    замудрённые алгоритмы в среднем и гроша ломанного ...

    там также тестировали всякого рода дорогие и сложные системы
    хедж фондов, которые как правило долгосрочно болтаются возле нуля, но были и исключения ...

    моё мнение тоже, чем проще стратегия, тем она доходнее ..

    лучше вы в кабак пошли на выходных, с друзьями пивка выпить ))

    avatar
    Мр.Дакс, спасибо за ваше мнение, 
    но где грань вот это просто а вот это сложно? 

    любую простоту понятную на глаз — достаточно сложно внедрить в алгоритм, и чем проще идея тем труднее ее формализовать.. 

    так как наш ум умеет обобщать и думать в ключе ПРИМЕРНО +-

    программа так не умеет. 
    avatar
    Желаю тебе от чистого сердца, чтобы твой робот был лютым сливалой и гопником)
    avatar
    тслаб+ кубик сжать= любой таймфрейм хоть 3мин, хоть 33мин, хоть 333мин 
    avatar
    ves2010, и? 
    avatar
    Тихая Гавань, не тяжко ниразу… делов на 2 минуты
    avatar
    ves2010, я рад за вас )) 
    avatar

    Читайте на SMART-LAB:
    Фото
    🚀 SOFL впервые получил кредитный рейтинг категории «А»
    Дорогие инвесторы, у нас отличные новости! Агентство АКРА присвоило Софтлайн высокий рейтинг кредитоспособности: A- со стабильным прогнозом:...
    Скоро поговорим в эфире Радио РБК
    Друзья, привет! 💬 До публикации финансовых результатов по МСФО за 2025 год остается несколько недель, поэтому мы продолжаем вести открытую...
    Фото
    ПАО «ЭсЭфАй» публикует консолидированные финансовые результаты за 2025 год
    ПАО «ЭсЭфАй» (инвестиционный холдинг SFI, MOEX: SFIN) опубликовало аудированную годовую отчетность за 2025 год по международным стандартам...
    Фото
    Самый большой "перетряс" моего портфеля за последние годы. Синтетический валютный бонд с доходностью 13% годовых
    Доброго дня, дорогие читатели. Сегодня я все утро совершал сделки. Вероятно, это даже самый большой перетряс портфеля за последние годы. Ротация...

    теги блога Тихая Гавань

    ....все тэги



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