изменение стакана в EmulationTrader


изменение стакана в EmulationTrader
Atom
6/11/2012


А можно ли подписаться и получать изменения стакана из EmulationTrader без изпользования стратегий. Связка
Code

Trader.MarketDepthsChanged += OnQuotesChanged;
Trader.RegisterQuotes(Sec1);

хорошо работающая на боевых трейдерах не хочет работать на тестовом.



Thanks:


alexeev.evg

Avatar
Date: 7/24/2012
Reply


Присоединяюсь.
В 4.1.1 событие работало.

Сейчас событие MarketDepthsChanged объекта EmulationTrader не отрабатывает.
Трейдер запускается, маркет тайм бежит, а событие не срабатывает:
Code

var security = new Security
{
	Id = "RIU2@RTS", 
	Code = "RIU2",
	Name = "RTS-9.12",
	MinStepSize = 5,
	MinStepPrice = 2,
	Exchange = Exchange.Test,
};
var portfolio = new Portfolio { Name = "test account", BeginValue = 1000000m };
var storageRegistry = new StorageRegistry();
((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = HistoryPath.Text;

var timeFrame = TimeSpan.FromMinutes(5);
var startTime = new DateTime(2012, 6, 18);
var stopTime = new DateTime(2012, 6, 22);

_trader = new EmulationTrader(
	new[] { security },
	new[] { portfolio })
{
	MarketTimeChangedInterval = timeFrame,
	StorageRegistry = storageRegistry,
	WorkingTime = Exchange.Rts.WorkingTime,
	UseMarketDepth = true,
};
_trader.MarketDepthsChanged += (depths) =>
	{
		//не работает!
	};
_trader.RegisterMarketDepth(security);
_trader.Connect();
_trader.StartExport();
_trader.Start(startTime, stopTime);


Начинает срабатывать только если стартануть CandleManager.
Thanks:

pyhta4og

Avatar
Date: 7/24/2012
Reply


alexeev.evg Go to
Присоединяюсь.
В 4.1.1 событие работало.

Сейчас событие MarketDepthsChanged объекта EmulationTrader не отрабатывает.
Трейдер запускается, маркет тайм бежит, а событие не срабатывает:
Code

var security = new Security
{
	Id = "RIU2@RTS", 
	Code = "RIU2",
	Name = "RTS-9.12",
	MinStepSize = 5,
	MinStepPrice = 2,
	Exchange = Exchange.Test,
};
var portfolio = new Portfolio { Name = "test account", BeginValue = 1000000m };
var storageRegistry = new StorageRegistry();
((LocalMarketDataDrive)storageRegistry.DefaultDrive).Path = HistoryPath.Text;

var timeFrame = TimeSpan.FromMinutes(5);
var startTime = new DateTime(2012, 6, 18);
var stopTime = new DateTime(2012, 6, 22);

_trader = new EmulationTrader(
	new[] { security },
	new[] { portfolio })
{
	MarketTimeChangedInterval = timeFrame,
	StorageRegistry = storageRegistry,
	WorkingTime = Exchange.Rts.WorkingTime,
	UseMarketDepth = true,
};
_trader.MarketDepthsChanged += (depths) =>
	{
		//не работает!
	};
_trader.RegisterMarketDepth(security);
_trader.Connect();
_trader.StartExport();
_trader.Start(startTime, stopTime);


Начинает срабатывать только если стартануть CandleManager.


есть баг RegisterMarketDepth не работает без RegisterTrades. Добавьте RegisterTrades все заработает.

Поправим в след версиях.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy