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


А можно ли подписаться и получать изменения стакана из 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[] { 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 все заработает.

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


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

loading
clippy