Не работают правила BestAskPriceMore и BestAskPriceLess

Не работают правила BestAskPriceMore и BestAskPriceLess
Atom
3/2/2012
vader


Не работают правила BestAskPriceMore и BestAskPriceLess. Создал их относительно одной цены - ни одно из них не сработало. При этом MarketDepthChanged.

Версия S# - исправленная версия 4.0.20.


Tags:


Thanks:


< 1 2 3 4  >
vader

Avatar
Date: 3/5/2012
Reply


"и чему равно BestBid что вы распечатали?" С BestBid тоже все в порядке.

"по стакану - получите через метод, далее можете хоть через дебагер показать аски \ биды." Сделано так - сначала стакан я получаю стакан через метод Trader.GetMarketDepth(security), сохраняю ссылку на него и когда мне нужно я поучаю его таким образом - _marketDepth.GetTopQuotes(20) В дебаге видно что стакан заполнен бидами и асками.

Thanks:

Alexander

Avatar
Date: 3/9/2012
Reply


В 4.0.21 будет фикс

Thanks:

vader

Avatar
Date: 3/11/2012
Reply


К сожалению правила BestBidPriceMore и BestAskPriceLess не работают.

Thanks:

Alexander

Avatar
Date: 3/11/2012
Reply


Security.Trader.SecuritiesChanged вызывается? И посмотрите по этому событию последовательно как у вас меняется BestAsk \ BestBid

Thanks:

vader

Avatar
Date: 3/11/2012
Reply


С некотрой периодичностью такой код говорит, что BestAsk и BestBid одновременно являются null.


TraderWorker.GetInstance().Trader.SecuritiesChanged +=(Trader_SecuritiesChanged);

private void Trader_SecuritiesChanged(IEnumerable<StockSharp.BusinessEntities.Security> securitys)
        {
            foreach(Security p in securitys) {
                if(p == null) {
                    Log.WriteGeneralDiagnostics("p == null");
                }
                if(p.BestAsk == null) {
                    Log.WriteGeneralDiagnostics("p.BestAsk == null");
                }
                if(p.BestBid == null) {
                    Log.WriteGeneralDiagnostics("p.BestBid == null");
                }
                Log.WriteGeneralDiagnostics("securitys " + p.BestAsk.Price.ToString() + " " + p.BestBid.Price.ToString());
            }
        }

Log securitys 171230 171165 Log securitys 171230 171165 Log securitys 171230 171165 Log securitys 171230 171165 Log securitys 171195 171180 Log securitys 171220 171165 Log securitys 171220 171180 Log securitys 171220 171165 Log securitys 171220 171175 Log securitys 171220 171175 Log securitys 171220 171165 Log securitys 171220 171175 Log p.BestAsk == null Log p.BestBid == null Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) Log securitys 171220 171180 Log p.BestAsk == null Log securitys 171220 171180 Log p.BestBid == null Log securitys 171220 171180 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) Log securitys 171200 171180 Log p.BestAsk == null Log p.BestBid == null Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171180 Log securitys 171200 171175 Log securitys 171195 171175 Log securitys 171195 171175 Log securitys 171195 171175 Log securitys 171190 171160 Log securitys 171190 171165 Log securitys 171190 171180 Log securitys 171190 171180 Log p.BestAsk == null Log p.BestBid == null Log securitys 171190 171180 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171195 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log securitys 171190 171180 Log p.BestAsk == null Log p.BestBid == null

Thanks:

Alexander

Avatar
Date: 3/11/2012
Reply


И с какой ценой вы запускаете правило BestBidPriceMore что оно у вас ни разу не срабатывает?

Thanks:

Mikhail Sukhov

Avatar
Date: 3/11/2012
Reply


Что-то вы с QuikTrader плохое понаделали в своем коде.

Thanks:

vader

Avatar
Date: 3/11/2012
Reply


"И с какой ценой вы запускаете правило BestBidPriceMore что оно у вас ни разу не срабатывает?"

Log securitys 171255 171250 Log securitys 171255 171250 ARBR Buy RIH2 11.03.2012 13:33:19 Создали правило BestBidPriceMore с ценой 171240 ARBR Buy RIH2 11.03.2012 13:33:19 OnStarting1 Log securitys 171255 171250 Log securitys 171255 171250

"Что-то вы с QuikTrader плохое понаделали в своем коде." отнаследовался от него.

Thanks:

Alexander

Avatar
Date: 3/11/2012
Reply


Сделайте правило без наследника от QuikTrader, стандартный Trader. По срабатыванию правила добавьте просто распечатку что правило сработало.

Thanks:

vader

Avatar
Date: 3/11/2012
Reply


"Сделайте правило без наследника от QuikTrader, стандартный Trader." Сделаю. "По срабатыванию правила добавьте просто распечатку что правило сработало." Правило то не срабатывает. Как я по нему распечатку дам?

Thanks:
< 1 2 3 4  >

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

loading
clippy