Greene-nsk
|
Дата: 10.02.2011
|
|
|
|
Это стоп заявки, через веб интрефейс на них смотрю - у них все в порядке. Проверил через врапер. Я подписан на события: ITrader.NewOrders += Smart_NewOrders; strategy.NewOrder += OnNewOrder; strategy.NewStopOrder += OnNewOrder; strategy.OrderChanged += OnOrderChanged; strategy.StopOrderChanged += OnOrderChanged; Код 10.02.2011 20:01:54 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] ПОСЛЕ отмены приказов 10.02.2011 20:01:54 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders 0 10.02.2011 20:01:54 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders 0 10.02.2011 20:01:54 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders active 0 10.02.2011 20:01:54 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders active 0 10.02.2011 20:01:54 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.Orders 0 10.02.2011 20:01:54 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.StopOrders 0 10.02.2011 20:01:55 [OpenWealth.StockSharp.SmartCOM.<Init>b__0] Wrapper new order: 71839626 544268683 10.02.2011 20:01:56 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Buy StOrder_Type_StopLimit False 10.02.2011 20:01:56 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Buy StOrder_Type_StopLimit False 10.02.2011 20:01:56 [OpenWealth.HeadRealTradeStockSharp.OnOrderChanged] Ордер изменен. Состояние: Active статус: ReceiveByServer время снятия: бумага: RTS-3.11 b/s: Buy средняя цена: 0 тип: Conditional 10.02.2011 20:01:56 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_StopLimit False 10.02.2011 20:01:56 [OpenWealth.StockSharp.SmartCOM.<Init>b__0] Wrapper new order: 71839625 544268689 10.02.2011 20:01:56 [OpenWealth.StockSharp.SmartCOM.<Init>b__1] Wrapper order changed: BP5758-RF-01 RTS-3.11_FT StOrder_State_Pending StOrder_Action_Sell StOrder_Type_StopLimit False 10.02.2011 20:02:04 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] ПОСЛЕ регистрации новых приказов 10.02.2011 20:02:05 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders 0 10.02.2011 20:02:05 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders 1 10.02.2011 20:02:05 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.Orders active 0 10.02.2011 20:02:05 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Strategy.StopOrders active 1 10.02.2011 20:02:05 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.Orders 2 10.02.2011 20:02:05 [OpenWealth.StockSharp.StrategyAdapter.OnProcess] Trader.StopOrders 2
После выполнения: 1. в itinvest веб интрефейсе обе заявки, которые и должны быть 2. в Trader.Orders и Trader.StopOrders 2 стоп заявки sell и buy какие и должны быть 3!!! Пришло только одно событие strategy.StopOrderChanged для стоп ордера buy. для sell не пришло. 4!!! Не пришло ни одного события ITrader.NewOrders Видно, что для события sell врапер orderChanged метод пришел раньше, чем NewOrder. Но это только предположение. Может быть это совпадение.
|
|
Спасибо:
|
|
|
|
|
Greene-nsk
|
Дата: 10.02.2011
Mikhail Sukhov Так, код явно не тривиален. А вот когда приходят только ITrader.NewOrders Вы уверены, что это стоп заявки? Плюс, отключит SmartTrader.AutoSave. Я не говорил, что приходят только ITrader.NewOrders. Как видно из последнего теста как раз наоборот, они и не приходят. Приходили только ITrader.NewStopOrders, хотя регистрация идет в оба списка.
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 10.02.2011
Greene-nsk Mikhail Sukhov Так, код явно не тривиален. А вот когда приходят только ITrader.NewOrders Вы уверены, что это стоп заявки? Плюс, отключит SmartTrader.AutoSave. Я не говорил, что приходят только ITrader.NewOrders. Как видно из последнего теста как раз наоборот, они и не приходят. Приходили только ITrader.NewStopOrders, хотя регистрация идет в оба списка. Так, я видимо сам ошибку. Посмотрел в документацию, ITrader.NewOrders для стоп заявок не должен вызываться. Так что это правильно. Термин "в оба списка" мне не совсем понятен.
|
|
Спасибо:
|
|
|
|
|
Greene-nsk
|
Дата: 10.02.2011
Mikhail Sukhov Так, я видимо сам ошибку. Посмотрел в документацию, ITrader.NewOrders для стоп заявок не должен вызываться. Так что это правильно. Термин "в оба списка" мне не совсем понятен.
Имел ввиду эти: ITrader.Orders и ITrader.StopOrders. Про основную ошибку, что трейды не добавляются в strategy.NewStopOrders посмотрите? Я могу еще как-нибудь помочь?
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 10.02.2011
Greene-nsk Mikhail Sukhov Так, я видимо сам ошибку. Посмотрел в документацию, ITrader.NewOrders для стоп заявок не должен вызываться. Так что это правильно. Термин "в оба списка" мне не совсем понятен.
Имел ввиду эти: ITrader.Orders и ITrader.StopOrders. Про основную ошибку, что трейды не добавляются в strategy.NewStopOrders посмотрите? Я могу еще как-нибудь помочь? Да, посмотрю, конечно. Только нужно все четко выяснить. Проблема в стоп заявках и только? Обычные работают номрмально? ITrader.NewStopOrders вызывается? Strategy.NewStopOrders не вызывается? SmartTrader.AutoSave = false?
|
|
Спасибо:
|
|
|
|
|
Greene-nsk
|
Дата: 10.02.2011
Mikhail Sukhov Greene-nsk Mikhail Sukhov Так, я видимо сам ошибку. Посмотрел в документацию, ITrader.NewOrders для стоп заявок не должен вызываться. Так что это правильно. Термин "в оба списка" мне не совсем понятен.
Имел ввиду эти: ITrader.Orders и ITrader.StopOrders. Про основную ошибку, что трейды не добавляются в strategy.NewStopOrders посмотрите? Я могу еще как-нибудь помочь? Да, посмотрю, конечно. Только нужно все четко выяснить. Проблема в стоп заявках и только? Обычные работают номрмально? ITrader.NewStopOrders вызывается? Strategy.NewStopOrders не вызывается? SmartTrader.AutoSave = false? 1. другие заявки не смотрел. использую только стоп пока. 2. ITrader.NewStopOrders вызывается 3. когда проблема случается, Strategy.NewStopOrders не вызывается 4. Trader.IsAutoSaveOrders = false;
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 10.02.2011
Greene-nsk 1. другие заявки не смотрел. использую только стоп пока. 2. ITrader.NewStopOrders вызывается 3. когда проблема случается, Strategy.NewStopOrders не вызывается 4. Trader.IsAutoSaveOrders = false;
Вы писали до этого что работаете с ITrader.Orders и ITrader.StopOrders, поэтому вполне мог подумать, что и с обычными глючит. Можете еще показать код, как Вы регистрируете стратегию?
|
|
Спасибо:
|
|
|
|
|
Greene-nsk
|
Дата: 11.02.2011
Код
public class StrategyAdapter : TimeFrameStrategy { ... } // создаем менеджер стратегий StrategyManager = new RealTimeStrategyManager(Const.SmartInstance.Trader); ... foreach (WealthScript strategy in StrategiesInfo.Strategies) { StrategyAdapter sAdapter = new StrategyAdapter(strategy); ... Log.Out("Регистрируем стратегию: " + sAdapter.StrategyInstance.strategyID); StrategyManager.Register(sAdapter, portfolio, security); ... sAdapter.Start(); }
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 11.02.2011
Greene-nsk Код StrategyAdapter sAdapter = new StrategyAdapter(strategy); ... Log.Out("Регистрируем стратегию: " + sAdapter.StrategyInstance.strategyID); StrategyManager.Register(sAdapter, portfolio, security);
Я так понимаю, StrategyAdapter - это наследник от Strategy? А список заявок вы смотрите в sAdapter или в переданном strategy?
|
|
Спасибо:
|
|
|
|
|
Greene-nsk
|
Дата: 11.02.2011
Mikhail Sukhov Greene-nsk Код StrategyAdapter sAdapter = new StrategyAdapter(strategy); ... Log.Out("Регистрируем стратегию: " + sAdapter.StrategyInstance.strategyID); StrategyManager.Register(sAdapter, portfolio, security);
Я так понимаю, StrategyAdapter - это наследник от Strategy? А список заявок вы смотрите в sAdapter или в переданном strategy? Все смотрю и заявки исполняю из StrategyAdapter sAdapter (производный от TimeFrameStrategy). Из WealthScript strategy берется только инфа о приказах на исполнение.
|
|
Спасибо:
|
|
|
|