SmartQuant Discussion

Automated Quantitative Strategy Development, SmartQuant Product Discussion and Technical Support Forums
It is currently Thu Oct 22, 2020 8:39 am

All times are UTC + 3 hours




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: Thu Sep 05, 2013 9:41 am 
Offline

Joined: Thu Feb 04, 2010 3:32 pm
Posts: 45
Здравствуйте. Замечена следующая потеря ссылки на инстанс BarSeries (в солюшене один таймфрейм, в проекте в инструментах одна бумага):
Code:
using System;
using System.Drawing;
using OpenQuant.API;
using OpenQuant.API.Indicators;

public class MyStrategy : Strategy
{
   BarSeries _series;
   
   public override void OnStrategyStart()
   {
      _series = Bars;
   }

   public override void OnBar(Bar bar)
   {
      _series.Equals(Bars);   //Equals возвращает false. Почему?
   }
}


Top
 Profile  
 
PostPosted: Thu Sep 05, 2013 3:09 pm 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Здравствуйте.

Тут потери ссылки нету. Обьект возвращаемый свойством Bars всегда другой, хоть и работает с одной и той же серией.
Code:
this.Bars.Equals(this.Bars) == false

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Thu Sep 05, 2013 3:25 pm 
Offline

Joined: Thu Feb 04, 2010 3:32 pm
Posts: 45
Алейксей, здравствуйте. Спасибо за ответ. А чем вызвано решение подавать в стратегию разный инстанс BarSeries? Можно ли использовать в качестве уникального ключа имя BarSeries (для идентификации)?


Top
 Profile  
 
PostPosted: Thu Sep 05, 2013 3:37 pm 
Offline

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


Top
 Profile  
 
PostPosted: Thu Sep 05, 2013 4:01 pm 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Я бы не назвал это специальным решением, скорее так получается из-за особенностей внутренней кухни АПИ.
Имя серии не всегда будет одним и тем же. По крайней мере, в OnStrategyStart оно будет отличаться. После первого бара будет постоянным.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Thu Sep 05, 2013 4:23 pm 
Offline

Joined: Thu Feb 04, 2010 3:32 pm
Posts: 45
Alexei Kurov wrote:
Я бы не назвал это специальным решением, скорее так получается из-за особенностей внутренней кухни АПИ.
Имя серии не всегда будет одним и тем же. По крайней мере, в OnStrategyStart оно будет отличаться. После первого бара будет постоянным.
А почему ж так? Instrument.Symbol, фрейм и тип (которые участвуют в формировании имени) в BarSeries уже определены в проекте и солюшене соответственно.
Quote:
После первого бара будет постоянным.
До или после обработчика OnBar?


Top
 Profile  
 
PostPosted: Thu Sep 05, 2013 4:38 pm 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
потому что Bars возвращает серию баров того типа и того размера, что придет первым.
То есть, определение типов и размеров вовсе не задает порядок этих баров.

В самом обработчике OnBar барная серия уже имеет постоянное имя.

_________________
SmartQuant Development Team


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

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