изменение стакана в EmulationTrader
Atom
11.06.2012
Memory


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


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

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




Спасибо:


alexeev.evg

Фотография
Дата: 24.07.2012
Ответить


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

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


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.

Спасибо:

pyhta4og

Фотография
Дата: 24.07.2012
Ответить


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

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

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[] , new[] ) ; _trader.MarketDepthsChanged += (depths) => { //не работает! }; _trader.RegisterMarketDepth(security); _trader.Connect(); _trader.StartExport(); _trader.Start(startTime, stopTime);

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

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

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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy