SmartQuant Discussion

Automated Quantitative Strategy Development, SmartQuant Product Discussion and Technical Support Forums
It is currently Sun Oct 21, 2018 1:40 pm

All times are UTC + 3 hours




Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Fri Mar 18, 2011 2:21 am 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Запускаю стратегию в Ливе.
Вообще с трудом понимаю, что происходит если честно :( Такое впечатление что в мои индикаторы, которые в симуляции рисуются отлично, перестают поступать бары или как то не так поступают. И что то с отображением Chart еще -она меняешь в ней 1 min на 1hour - ничего не меняется. Или Чарт нормально отрисовывается только когда стратегия уже будет остановлена ? Индикаторы у меня в разных сериях 60 и 3600. Серии в Solution explorer - Market data добавлены и c галкой build from trades.


Top
 Profile  
 
PostPosted: Fri Mar 18, 2011 10:50 am 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6808
А можно как-то поточнее симптомы болезни? Что значит поступают как-то не так?

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


Top
 Profile  
 
PostPosted: Fri Mar 18, 2011 10:46 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Приклыдываю скриншот.
На нем выбран режим просмотра Чарта - 1Hour. Видно инструмент и Маркет Дата.
При этом вся история(preloaded должна быть, по крайней мере я так кодил) отображается почему то в режиме 1 m, за ней следуют данные реально полученные в Ливе - уже в формате 1 hour. (это видно когда начинается резкий скачек на графике). Т.е. скрестился уж с ежом - на индикаторах резкая ступенька и полная фигня.
Что это может быть ? Может мне в обработчике OnBar требуется еще куда то вручную добавлять бары?

Спасибо!


Attachments:
ErrorChart.jpg
ErrorChart.jpg [ 124.32 KiB | Viewed 5475 times ]
Top
 Profile  
 
PostPosted: Fri Mar 18, 2011 11:33 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6808
Завтра попробуем воспроизвести. В предыдущем релизе был похожий баг с рисованием дейли серий. Возможно это он же, т.к. обновление с фиксом планировали выпиустить в понедельник.


Top
 Profile  
 
PostPosted: Sat Mar 19, 2011 12:11 am 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Ребята, давайте! Я за вас болею. Я стока времени уже убил, думал я туплю. И денег собственно тоже


Top
 Profile  
 
PostPosted: Sat Mar 19, 2011 3:23 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Пока не выпущен фикс, порекомендуйте, пожалуйста, другую работающую версию и где взять!


Top
 Profile  
 
PostPosted: Sat Mar 19, 2011 3:40 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6808
Ждем подельника в онлайне. Сергей сегодня хотел зайти в офис. Я думал он посмотрит, что у вас случилось....

А вот если просто на минутных данных все прогнать, то нормально получается? То есть и грузятся минутные, и в ливе идут минутные, и индикаторы сшиваются на чарте нормально?


Top
 Profile  
 
PostPosted: Sun Mar 20, 2011 8:05 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Проверил - Если везде только минутные в исторических данных только минутки - то нормально(что и логично).
жду фикса.


Top
 Profile  
 
PostPosted: Sun Mar 20, 2011 11:26 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Проверил в симуляции - та же проблема.


Top
 Profile  
 
PostPosted: Mon Mar 21, 2011 11:32 am 
Offline

Joined: Wed Oct 08, 2003 1:06 pm
Posts: 833
А можно взглянуть на логику загрузки исторических баров в вашей стратегии? Такое чувство, что исторические бары кладутся в не правильную серию. Вы уверены, что серия достаётся вызовом метода GetBars(BarType.Time, 60)?

P.S. Чарт должен автоматически отрисовываться, каждый раз когда в серии появляется новый бар.


Top
 Profile  
 
PostPosted: Mon Mar 21, 2011 12:01 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Я к сожалению по основной работе не трейдер, точно код смогу проверить только вечером\ночью.
Но насколько я помню - да.
у меня объявляется Bars1m, Bars1h.
И в OnStrategyStart я вызываю
Bars1m = GetBars(BarType.Time, 60);
Bars1h= GetBars(BarType.Time, 3600);
(есть вероятность что я мог забыть первый параметр, и написал типа просто
Bars1h= GetBars(3600); - но я думаю система бы такое отказалась собирать)

Далее историю гружу точно как описано здесь
http://smartquant.com/forums/viewtopic.php?f=64&t=6227
используя соответствующие Barseries
Code:
      foreach (Bar bar in GetHistoricalBars(datetime1, datetime2, BarType.Time, 60))
         Bars1m.Add(bar);
...
      foreach (Bar bar in GetHistoricalBars(datetime1, datetime2, BarType.Time, 3600))
         Bars1h.Add(bar);


Top
 Profile  
 
PostPosted: Mon Mar 21, 2011 12:28 pm 
Offline

Joined: Wed Oct 08, 2003 1:06 pm
Posts: 833
похоже всё правильно, а кроме как в OnStrategyStart вы нигде не добавляете бары к сериям Bars1m или Bars1h (в ОнБаре, например)?


Top
 Profile  
 
PostPosted: Mon Mar 21, 2011 12:35 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
хм... в ОнБаре добавлял бары.
но там я тоже фильтрую по размеру, точно.
if barsize==60
Bars1m.Add(bar)

if barsize==3600
Bars1h.Add(bar)

Кстати вопрос - надо ли в онБаре добавлять быры вручную в мои серии, если я полюзуюсь не стандартной Bars, а Bars1m и Bars1h.
Я рассудил так - что надо , иначе мои индикаторы по этим сериям обновляться не будут.


Top
 Profile  
 
PostPosted: Mon Mar 21, 2011 12:44 pm 
Offline

Joined: Wed Oct 08, 2003 1:06 pm
Posts: 833
Добавлять бары в ОнБаре НЕ надо, бары будут добавляться автоматически, индикаторы обновляться и т.п. Попробуйте убрать эти строчки с добавлением - возможно проблема исчезнет.


Top
 Profile  
 
PostPosted: Mon Mar 21, 2011 8:42 pm 
Offline

Joined: Thu Mar 10, 2011 10:09 pm
Posts: 582
Проверил. Ваша рекомендация не помогла. Однако поковырявшись нашел что часовой чарт начинает сшиваться нормально, после того как я удаляю следующую строку в OnStrategyStart:
было
Code:
foreach (Bar bar in GetHistoricalBars(datetime1, datetime2, BarType.Time, macdBarSize)) //звгрузка минутных данных
{Bars.Add(bar); 
Bars1m.Add(bar);
 }         

foreach (Bar bar in GetHistoricalBars(datetime1, datetime2, BarType.Time, adxBarSize)) //звгрузка часовых данных
{AdxBars.Add(bar);}

стало:
Code:
foreach (Bar bar in GetHistoricalBars(datetime1, datetime2, BarType.Time, macdBarSize)) //звгрузка минутных данных
{// !!!!!!!!!!!!!! Bars.Add(bar); 
Bars1m.Add(bar);
 }         

foreach (Bar bar in GetHistoricalBars(datetime1, datetime2, BarType.Time, adxBarSize)) //звгрузка часовых данных
{AdxBars.Add(bar);}


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


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page 1, 2  Next

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group