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


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


Не работают правила 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.
Code

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(IEnumerable`1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=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(IEnumerable`1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=qPGXNlOeGBVUabNWOLh_DvA==)
Log securitys 171200 171180
Log p.BestAsk == null
Log p.BestBid == null
Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable`1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=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(IEnumerable`1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1944
в System.Action`1.Invoke(T obj)
в Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable`1 #=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