проблема с получением сделок и отправкой транзакций
Atom Ответить
19.10.2011


Все проблемы относятся к одному запуску робота и стратегии. Версия - 4.0.3
Описание проблемы.
1)Не сработала команда CancelActiveOrders(); Робот должен был снять заявку и поставить новую. Новая заявка была поставлена, а старая не была снята.
2)Не все сделки пришли в робота. Сделка с номером заявки 42790499 отсутсвует в логе, хотя она совершена в рамках стратегии. И как раз эта заявка не была снята роботом, о чем писалось в п. 1.
3)Робот имеет несколько стратегий и отслеживает сделки в общем виде так и разделяя их для каждой стратегии. Все сделки попали в общую систему учета(графического отпображения), в том числе и та, про которую я писал во втором пункте, но ни одна сделка не попала в систему учета(графического отпображения) стратегии.
Код общего отображения -
Код

private void OnNewMyTrades(IEnumerable<MyTrade> myTrades)
		{
			this.GuiAsync(() =>
			              {
			              	this.MyTrades.AddRange(myTrades);
			              	svMyTrades.ScrollToEnd();
			              });
			RefreshOrders();
		}

Код отображения для стратегии -
Код

this.GuiAsync(() =>
				              {
				              	foreach(MyTrade m in myTrades){
				              		this.MyTrades.Add(new MyTradeStrategy(m, strategy.Name));
				              	}
				              	svMyTrades.ScrollToEnd();
				              });

4)Также ни разу не сработал обработчик события strategy.NewMyTrades.
Ничего такого раньше не наблюдалось.

Теги:


Спасибо:




1 Ответов
vader

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


Лог пишется таким образом.
Код

private void OnOrderChanged(Order order)
		{
			_strategyLog.WriteLine("OnOrderChanged Id- " + order.Id.ToString());
			_strategyLog.WriteLine("OnOrderChanged TransactionId- " + order.TransactionId.ToString());
			_strategyLog.WriteLine("OnOrderChanged Direction- " + order.Direction.ToString());
			_strategyLog.WriteLine("OnOrderChanged Volume- " + order.Volume.ToString());
			_strategyLog.WriteLine("OnOrderChanged Price- " + order.Price.ToString());
			_strategyLog.WriteLine("OnOrderChanged Time- " + order.Time.ToString());
			_strategyLog.Flush();
		}
		
		private void OnNewOrder(Order order)
		{
			this.GuiAsync(() => this.Orders.Add(order));
			RefreshOrders();
			_strategyLog.WriteLine("NewOrder Id- " + order.Id.ToString());
			_strategyLog.WriteLine("NewOrder TransactionId- " + order.TransactionId.ToString());
			_strategyLog.WriteLine("NewOrder Direction- " + order.Direction.ToString());
			_strategyLog.WriteLine("NewOrder Volume- " + order.Volume.ToString());
			_strategyLog.WriteLine("NewOrder Price- " + order.Price.ToString());
			_strategyLog.WriteLine("NewOrder Time- " + order.Time.ToString());
			_strategyLog.Flush();
		}
		
		private void OnNewMyTrades(IEnumerable<MyTrade> myTrades)
		{
				foreach(MyTrade p in myTrades){
				_strategyLog.WriteLine("NewMyTrades Id- " + p.Trade.Id.ToString());
				_strategyLog.WriteLine("NewMyTrades Direction- " + p.Trade.OrderDirection.ToString());
				_strategyLog.WriteLine("NewMyTrades Volume- " + p.Trade.Volume.ToString());
				_strategyLog.WriteLine("NewMyTrades Price- " + p.Trade.Price.ToString());
				_strategyLog.WriteLine("NewMyTrades Time- " + p.Trade.Time.ToString());
			}
			_strategyLog.Flush();
		}
Автор топика
Спасибо:


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

loading
clippy