[BLOCKER] [S#3.0beta] трейды не регистрируются под статегией


[BLOCKER] [S#3.0beta] трейды не регистрируются под статегией
Atom Reply
2/9/2011


Есть стратегия унаследованная от TimeFrameStrategy.

Для каждой новой свечки делается следующее:
Код

OpenWealth.Log.Out("ДО отмены приказов");
OpenWealth.Log.Out("Strategy.Orders " + base.Orders.Count);
OpenWealth.Log.Out("Strategy.StopOrders " + base.StopOrders.Count);
OpenWealth.Log.Out("Strategy.Orders active " + base.Orders.Count(o => o.State == OrderStates.Active));
OpenWealth.Log.Out("Strategy.StopOrders active " + base.StopOrders.Count(o => o.State == OrderStates.Active));
OpenWealth.Log.Out("Trader.Orders " + Const.SmartInstance.Trader.Orders.Count());
OpenWealth.Log.Out("Trader.StopOrders " + Const.SmartInstance.Trader.StopOrders.Count());

// отменяем активные заявки
base.CancelActiveOrders();

OpenWealth.Log.Out("ПОСЛЕ отмены приказов");
OpenWealth.Log.Out("Strategy.Orders " + base.Orders.Count);
OpenWealth.Log.Out("Strategy.StopOrders " + base.StopOrders.Count);
OpenWealth.Log.Out("Strategy.Orders active " + base.Orders.Count(o => o.State == OrderStates.Active));
OpenWealth.Log.Out("Strategy.StopOrders active " + base.StopOrders.Count(o => o.State == OrderStates.Active));
OpenWealth.Log.Out("Trader.Orders " + Const.SmartInstance.Trader.Orders.Count());
OpenWealth.Log.Out("Trader.StopOrders " + Const.SmartInstance.Trader.StopOrders.Count());

// регистрируем заявки (обычным способом, без котирования)
StrategyInstance.Alerts.ForEach(a => base.RegisterOrder(Translations.AlertToOrder(a)));

System.Threading.Thread.Sleep(10000);
OpenWealth.Log.Out("ПОСЛЕ регистрации новых приказов");
OpenWealth.Log.Out("Strategy.Orders " + base.Orders.Count);
OpenWealth.Log.Out("Strategy.StopOrders " + base.StopOrders.Count);
OpenWealth.Log.Out("Strategy.Orders active " + base.Orders.Count(o => o.State == OrderStates.Active));
OpenWealth.Log.Out("Strategy.StopOrders active " + base.StopOrders.Count(o => o.State == OrderStates.Active));
OpenWealth.Log.Out("Trader.Orders " + Const.SmartInstance.Trader.Orders.Count());
OpenWealth.Log.Out("Trader.StopOrders " + Const.SmartInstance.Trader.StopOrders.Count());


Для каждой свечки (для одной итерации) создаются два ордера.
Вывод на второй свечке (на первой аналогично добавились только в общий список):
Код

09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] ДО отмены приказов
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders 0
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders 0
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders active 0
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders active 0
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.Orders 2
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.StopOrders 2
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] ПОСЛЕ отмены приказов
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders 0
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders 0
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders active 0
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders active 0
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.Orders 2
09.02.2011 19:41:35 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.StopOrders 2
09.02.2011 19:41:35 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 -1 Conditional
09.02.2011 19:41:35 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 +1 Conditional
09.02.2011 19:41:45 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] ПОСЛЕ регистрации новых приказов
09.02.2011 19:41:45 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders 0
09.02.2011 19:41:45 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders 0
09.02.2011 19:41:45 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders active 0
09.02.2011 19:41:45 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders active 0
09.02.2011 19:41:45 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.Orders 4
09.02.2011 19:41:45 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.StopOrders 4


На третьей свечке добавляются наконец в список стратегии, но только в стоп ордера:
Код

09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] ДО отмены приказов
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders 0
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders 0
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders active 0
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders active 0
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.Orders 4
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.StopOrders 4
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] ПОСЛЕ отмены приказов
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders 0
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders 0
09.02.2011 19:51:36 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders active 0
09.02.2011 19:51:37 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders active 0
09.02.2011 19:51:37 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.Orders 4
09.02.2011 19:51:37 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.StopOrders 4
09.02.2011 19:51:37 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 -1 Conditional
09.02.2011 19:51:37 [OpenWealth.HeadRealTradeStockSharp.OnOrderChanged] Ордер изменен. Состояние: Active статус: ReceiveByServer время снятия: бумага: RTS-3.11 b/s: Sell средняя цена: 0 тип: Conditional
09.02.2011 19:51:37 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__18] RTS-3.11 +1 Conditional
09.02.2011 19:51:37 [OpenWealth.HeadRealTradeStockSharp.OnOrderChanged] Ордер изменен. Состояние: Active статус: ReceiveByServer время снятия: бумага: RTS-3.11 b/s: Buy средняя цена: 0 тип: Conditional
09.02.2011 19:51:47 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] ПОСЛЕ регистрации новых приказов
09.02.2011 19:51:47 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders 0
09.02.2011 19:51:47 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders 2
09.02.2011 19:51:47 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders active 0
09.02.2011 19:51:47 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders active 2
09.02.2011 19:51:47 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.Orders 6
09.02.2011 19:51:47 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.StopOrders 6


Т.е. 2е ошибки:
1. ордера не всегда добавляются в список ордеров стратегии (чаще не добавляются)
2. в одном случае стоп ордер добавляется в Orders и StopOrders, в другом только в StopOrders

Что я делаю не так?

Tags:


Thanks:




34 Answers
< 1 2 
Greene-nsk

Avatar
Date: 2/28/2011
Reply


Михаил, использую 3.0.3, где эта проблема должна быть исправлена. Но трейды до сих пор не всегда регистрируеются.

Вот сегодня. Strategy.NewMyTrades НЕ пришел.

Код

28.02.2011 14:34:49 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 28.02.2011 10:34:46 562337947 0 1534632
28.02.2011 14:34:49 [OpenWealth.StockSharp.SmartCOM.<Init>b__0] Wrapper new order: 49696158 562337947
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 28.02.2011 10:34:46 562337947 0 1534632
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 28.02.2011 10:34:46 562337947 3266781688 1534632
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__21] RTS-3.11 -1*0 Market
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Sell StOrder_Type_Market True 185605 1 0 0 28.02.2011 10:34:46 562337947 3266781688 1534632
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Smart_OrdersChanged>b__25] RTS-3.11 -1*0 Market BP5758-RF-01 Done Done отстаток: 0 время снятия: 28.02.2011 10:34:46
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Smart_NewMyTrades>b__1f] 277321446 RTS-3.11 -1*193275
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 28.02.2011 10:34:46 562337947 3266781688 1534632
28.02.2011 14:34:51 [OpenWealth.StockSharp.SmartCOM.<Smart_OrdersChanged>b__25] RTS-3.11 -1*0 Market BP5758-RF-01 Active Done отстаток: 1 время снятия: 28.02.2011 10:34:46
28.02.2011 14:34:51 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Sell StOrder_Type_Market True 185605 1 0 0 28.02.2011 10:34:46 562337947 3266781688 1534632
28.02.2011 14:34:51 [OpenWealth.StockSharp.SmartCOM.<Smart_OrdersChanged>b__25] RTS-3.11 -1*0 Market BPxxx-RF-01 Done Done отстаток: 0 время снятия: 28.02.2011 10:34:46
Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 2/28/2011
Reply


Greene-nsk Перейти
Михаил, использую 3.0.3, где эта проблема должна быть исправлена. Но трейды до сих пор не всегда регистрируеются.

Вот сегодня. Strategy.NewMyTrades НЕ пришел.

Код

28.02.2011 14:34:49 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 28.02.2011 10:34:46 562337947 0 1534632
28.02.2011 14:34:49 [OpenWealth.StockSharp.SmartCOM.<Init>b__0] Wrapper new order: 49696158 562337947
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 28.02.2011 10:34:46 562337947 0 1534632
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 28.02.2011 10:34:46 562337947 3266781688 1534632
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Smart_NewOrders>b__21] RTS-3.11 -1*0 Market
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Sell StOrder_Type_Market True 185605 1 0 0 28.02.2011 10:34:46 562337947 3266781688 1534632
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Smart_OrdersChanged>b__25] RTS-3.11 -1*0 Market BP5758-RF-01 Done Done отстаток: 0 время снятия: 28.02.2011 10:34:46
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Smart_NewMyTrades>b__1f] 277321446 RTS-3.11 -1*193275
28.02.2011 14:34:50 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 28.02.2011 10:34:46 562337947 3266781688 1534632
28.02.2011 14:34:51 [OpenWealth.StockSharp.SmartCOM.<Smart_OrdersChanged>b__25] RTS-3.11 -1*0 Market BP5758-RF-01 Active Done отстаток: 1 время снятия: 28.02.2011 10:34:46
28.02.2011 14:34:51 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BPxxx-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Sell StOrder_Type_Market True 185605 1 0 0 28.02.2011 10:34:46 562337947 3266781688 1534632
28.02.2011 14:34:51 [OpenWealth.StockSharp.SmartCOM.<Smart_OrdersChanged>b__25] RTS-3.11 -1*0 Market BPxxx-RF-01 Done Done отстаток: 0 время снятия: 28.02.2011 10:34:46


Я глаза сломал, пока пытался понять, что к чему.Smile А можно чуть нагляднее лог сделать? Что нужно. Номер заявки, номер транзакции, номер смарта у заявки (+ объяснить, что в каком порядке выводиться).
Thanks:

Greene-nsk

Avatar
Date: 3/1/2011
Reply


Mikhail Sukhov Перейти

Я глаза сломал, пока пытался понять, что к чему.Smile А можно чуть нагляднее лог сделать? Что нужно. Номер заявки, номер транзакции, номер смарта у заявки (+ объяснить, что в каком порядке выводиться).


Вывод был с помощью этих функций, т.е. все по порядку как приходит, так и выводится:
Код

(this.Trader as SmartTrader).Wrapper.NewOrder += ((i, s) =>
{
Log.Out("Wrapper new order: " + i + " " + s);
});

(this.Trader as SmartTrader).Wrapper.OrderChanged += ((s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14) =>
{
Log.Out("Wrapper order changed: " + s1 + " " + s2 + " " + s3 + " " + s4 + " " + s5 + " " + s6 + " " + s7 + " " + s8 + " " + s9 + " " + s10 + " " + s11 + " " + s12 + " " + s13 + " " + s14);
});


SmartCOM_2_0_manual:
void UpdateOrder(string portfolio, string symbol, StClientLib.StOrder_State state, StClientLib.StOrder_Action action, StClientLib.StOrder_Type type, StClientLib.StOrder_Validity validity, double price, double amount, double stop, double filled, System.DateTime datetime, string orderid, string orderno, int status_mask)

Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 3/1/2011
Reply


По логу увидел следующее. Почему то Смарт сначала присылает что заявка matched, а затем что она опять открыта. Видимо надо сделать проверку. Можете сказать, как часто так делает Смарт?

Еще, не понял, что такое <Smart_NewOrders>b__21. Это ITrader.NewOrders? А Вы делаете лог из Strategy событий? Плюс не плохо было бы в этих событиях так же выводить Order.Id

Не понятно, почему время снятие инициализировано. Вы его из Order.CancelTime берете?
Thanks:

Greene-nsk

Avatar
Date: 3/2/2011
Reply


Mikhail Sukhov Перейти
По логу увидел следующее. Почему то Смарт сначала присылает что заявка matched, а затем что она опять открыта. Видимо надо сделать проверку. Можете сказать, как часто так делает Смарт?

Не могу сказать.

Mikhail Sukhov Перейти

Еще, не понял, что такое <Smart_NewOrders>b__21. Это ITrader.NewOrders?

Да. Это оно.

Mikhail Sukhov Перейти

А Вы делаете лог из Strategy событий? Плюс не плохо было бы в этих событиях так же выводить Order.Id

Да, вывожу (уверен процентов на 80% - тот кусок кода уже переделал, лог удален). Лог стратегии в этом куске "не задет".
Order.Id добавил. В следующий раз будет.

Mikhail Sukhov Перейти

Не понятно, почему время снятие инициализировано. Вы его из Order.CancelTime берете?

Да, это CancelTime. Тоже непонятно.
Вывод ITrader.OrdersChanged:
Код

orders.ForEach(o => Log.Out(o.ToStringLong()));

static public string ToStringLong(this Order o)
{
string sign = (o.Direction == OrderDirections.Buy) ? "+" : "-";
return o.Security.Name + " " + sign + o.Volume + "*" + o.Price + " " + o.Type + " " +
o.Portfolio.Name + " " + o.State + " " + o.Status + " остаток: " + o.Balance + " время снятия: " + o.CancelTime;
}

Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 3/2/2011
Reply


Greene-nsk Перейти
Да, вывожу (уверен процентов на 80% - тот кусок кода уже переделал, лог удален). Лог стратегии в этом куске "не задет".
Order.Id добавил. В следующий раз будет.


И еще не забудьте номер транзакции, Order.TransactionId + сразу выведите его в лог после метода RegisterOrder... Пока по логу я исправил несколько косяков. Но в целом лог говорит о том, что заявки должны были прийти в стратегию.
Thanks:

Greene-nsk

Avatar
Date: 3/2/2011
Reply


Возможно последняя "не регистрация" произошла по моей вине. Моя стратегия останавливается после регистрации приказа, но иногда ДО того, как придет событие NewMyTrades.
Это может быть причиной не прихода события NewMyTrades? Если да, то похоже вопрос закрыт.

Лог трейда, который не зарегистрировался:
Код

02.03.2011 18:03:26 [OpenWealth.StockSharp.StrategySimpleQuoting.OnRunning] Регистрируем приказ: RTS-3.11 -1*0 Market
02.03.2011 18:03:26 [OpenWealth.StockSharp.StrategySimpleQuoting.OnRunning] Приказ сразу после RegisterOrder: RTS-3.11 -1*0 Market ST3276-RF-01 None остаток: 1 ID: 0 transactionID: 64153703 время снятия:
02.03.2011 18:03:26 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии SSQ str: Стратегия запущена.
02.03.2011 18:03:26 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: ST3276-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 02.03.2011 18:03:14 67124253 0 1
02.03.2011 18:03:26 [OpenWealth.StockSharp.TraderInitializator.<Init>b__0] Wrapper new order: 64153703 67124253
02.03.2011 18:03:26 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: ST3276-RF-01 RTS-3.11_FT StOrder_State_Open StOrder_Action_Sell StOrder_Type_Market True 0 1 0 1 02.03.2011 18:03:14 67124253 367308489 2089884016
02.03.2011 18:03:26 [OpenWealth.StockSharp.TraderInitializator.<Terminal_NewOrders>b__19] RTS-3.11 -1*0 Market
02.03.2011 18:03:26 [OpenWealth.StockSharp.StrategyProcessOrder.OnNewOrder] Strategy.NewOrder: RTS-3.11 -1*0 Market ST3276-RF-01 Active Done остаток: 1 ID: 367308489 transactionID: 64153703 время снятия: 02.03.2011 18:03:14
02.03.2011 18:03:26 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии SSQ str: Стратегия останавливается.
02.03.2011 18:03:27 [OpenWealth.StockSharp.TraderInitializator.<Init>b__1] Wrapper order changed: ST3276-RF-01 RTS-3.11_FT StOrder_State_Filled StOrder_Action_Sell StOrder_Type_Market True 189390 1 0 0 02.03.2011 18:03:31 67124253 367308489 0
02.03.2011 18:03:27 [OpenWealth.StockSharp.TraderInitializator.<Terminal_OrdersChanged>b__1d] RTS-3.11 -1*0 Market ST3276-RF-01 Done Done остаток: 0 ID: 367308489 transactionID: 64153703 время снятия: 02.03.2011 18:03:14
02.03.2011 18:03:27 [OpenWealth.StockSharp.StrategyProcessOrder.OnLog] ЛОГ стратегии SSQ str: Стратегия остановлена.
02.03.2011 18:03:27 [OpenWealth.StockSharp.TraderInitializator.<Terminal_NewMyTrades>b__17] 12854674 RTS-3.11 -1*196280
Topic starter
Thanks:

Mikhail Sukhov

Avatar
Articles author Programmer Trader
Date: 3/2/2011
Reply


Greene-nsk Перейти
Возможно последняя "не регистрация" произошла по моей вине. Моя стратегия останавливается после регистрации приказа, но иногда ДО того, как придет событие NewMyTrades.
Это может быть причиной не прихода события NewMyTrades? Если да, то похоже вопрос закрыт.


Все равно должно. А точно после 18:03:27 событие не вызывалось?
Thanks:

Greene-nsk

Avatar
Date: 3/3/2011
Reply


Mikhail Sukhov Перейти
Greene-nsk Перейти
Возможно последняя "не регистрация" произошла по моей вине. Моя стратегия останавливается после регистрации приказа, но иногда ДО того, как придет событие NewMyTrades.
Это может быть причиной не прихода события NewMyTrades? Если да, то похоже вопрос закрыт.


Все равно должно. А точно после 18:03:27 событие не вызывалось?


Точно. Ломалось 2 раза, первый раз после 2 сделок, второй раз после 10. 5 минут ждал.
Потом переделал, чтобы стратегия останавливалась только после прихода Strategy.NewMyTrades и 100 сделок прошло без проблем. Т.е. пока не могу повторить.

Ломалась стратегия вида:
Код

class StrategySimpleQuoting : Strategy
{
private Order _Order;

public StrategySimpleQuoting(Order order)
{
_Order = order;
_Order.Price = 0.0;
_Order.Type = OrderTypes.Market;
}

protected override void OnRunning()
{
OpenWealth.Log.Out("Регистрируем приказ: " + _Order.ToStringShort());
base.RegisterOrder(_Order);
OpenWealth.Log.Out("Приказ сразу после RegisterOrder: " + _Order.ToStringLong());
base.OnRunning();
}

protected override StrategyProcessResults OnProcess()
{
return StrategyProcessResults.Stop;
}
}


Могу поповторять, если надо.
Topic starter
Thanks:
< 1 2 

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

loading
clippy