Блог им. Crazy_Trading

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

в общем вот: 

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

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

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

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

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

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

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

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

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








★6
Как торговать по этому изобретению?
avatar

Дед Панас

ATR в основе?
Нэш Ван Дрейк (Кот Скрипаля), нет

Сурово.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

cfree0185

cfree0185, 
1 — зачем мне выставлять галочку если торговых функций пока нету? 
2 — никак
3 — я в курсе что подключается, вопрос не в брокере а в программном обеспечении.. 
писать под АПИ IB или писать под нинзю. 
 конечно торговать с индикатора нинзя не позволит

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

ninjafutures.ru/resources/charttrader-dlja-besplatnoj-versii-ninjatrader-7.22/
avatar

Vkt

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

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

avatar

Vkt

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

avatar

Vkt

Vkt, ))))

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

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

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

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

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

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

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

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

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

avatar

Мр.Дакс

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

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

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

программа так не умеет. 
Желаю тебе от чистого сердца, чтобы твой робот был лютым сливалой и гопником)
avatar

Александр

тслаб+ кубик сжать= любой таймфрейм хоть 3мин, хоть 33мин, хоть 333мин 
avatar

ves2010

ves2010, и? 
Тихая Гавань, не тяжко ниразу… делов на 2 минуты
avatar

ves2010

ves2010, я рад за вас )) 

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
UPDONW