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

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


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

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

Теги:


Спасибо:


< 1 2 3 4  >
vader

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


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

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

Alexander

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


В 4.0.21 будет фикс
Спасибо:

vader

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


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

Alexander

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


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

vader

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


С некотрой периодичностью такой код говорит, что 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(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
Спасибо:

Alexander

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


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

Mikhail Sukhov

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


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

vader

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


"И с какой ценой вы запускаете правило 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 плохое понаделали в своем коде."
отнаследовался от него.
Спасибо:

Alexander

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


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

vader

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


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

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

loading
clippy