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

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


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

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


Теги:


Спасибо:


< 1 2 3 4  >
Alexander

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


Что у вас сейчас в обработчике правила? Если есть какая-то распечатка при вызове его - ок. Если идут какие-то if вначале - вставьте распечатку до них.

Спасибо:

vader

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


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

"Что у вас сейчас в обработчике правила? Если есть какая-то распечатка при вызове его - ок. Если идут какие-то if вначале - вставьте распечатку до них." Обработчик правила сейчас выглядит так -


private void DoBestBidPriceMore()
        {
            WriteDiagnostics("DoBestBidPriceMore " + Security.BestAsk.Price.ToString());
        }

Он не был ни раз вызван.

Само правило создается так


this.When(Security.BestBidPriceMore(GetCurPrice()))
                    .Do(DoBestBidPriceMore);
            WriteDiagnostics("Создали правило BestBidPriceMore с ценой " + GetCurPrice().ToString());

Лог Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log p.BestAsk == null Log p.BestBid == null Log securitys 171245 171235 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943 в 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 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 Log securitys 171245 171235 ARBR Buy RIH2 11.03.2012 17:21:13 Создали правило BestBidPriceMore с ценой 171200 Log p.BestAsk == null Log p.BestBid == null Log securitys 171245 171235 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943 в 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 171245 171235 Log securitys 171245 171240 Log securitys 171245 171240 Log securitys 171245 171240 Log securitys 171260 171240 Log securitys 171260 171245 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log securitys 171260 171240 Log p.BestAsk == null Log p.BestBid == null Log securitys 171260 171240 Log System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в BSPB.Partizan.Robot.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\vb\General\PartizanV2\source\v.2.0\Robot.xaml.cs:строка 1943 в 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 171255 171240 Log securitys 171255 171240

Спасибо:

Alexander

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


Покажите свой квик. Дополнительные колонки из таблицы инструментов экспортируются?

Спасибо:

vader

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


Показать Квик - в плане? Вас интересует как настроены таблицы? Настройка таблиц произведена загреузкой Вашего wnd.

"Дополнительные колонки из таблицы инструментов экспортируются?" Да - DdeSecurityColumns.MinStepPrice.

Спасибо:

vader

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


Не могу прикрепить скрин.

<a href='http://www.pictureshack.ru/view_9937Novyi_tochechnyi_risunok.jpg'><img src='http://www.pictureshack.ru/thumbs/9937Novyi_tochechnyi_risunok.jpg' border='0'></a>

Спасибо:

Alexander

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


Вы сами нигде не обнуляете BestBid\BestAsk случайно? А то мягко говоря что-то странное происходит.

Предлагаю сделать следующее. Берёте Quik\Sample, в котором точно не будет изменений. Далее подписываетесь на событие Trader.SecuritiesChanged и выводите BestBid \ BestAsk

Спасибо:

Alexander

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


По прикреплённому скриншоту:

  1. У вас дополнительные колонки в стакане. Как вы их экспортируете? Создайте стандартный стакан, без доп. колонок, как по документации. Попробуйте с ним.
  2. В документации сказано про стакан что внизу офера, вверху биды. У вас наоборот. Сделайте согласно документации.
  3. Вы дополнительно экспортируете DdeSecurityColumns.MinStepPrice. Где оно у вас на скриншоте?
Спасибо:

vader

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


Сделал как Вы сказали - увы. p.BestAsk == null p.BestBid == null System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167 в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) p.BestAsk == null p.BestBid == null System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167 в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) p.BestAsk == null p.BestBid == null

Спасибо:

vader

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


Сделал как Вы сказали - результат тот же p.BestAsk == null p.BestAsk == null p.BestBid == null p.BestBid == null System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167 в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==) System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Sample.MainWindow.Trader_SecuritiesChanged(IEnumerable1 securitys) в C:\Lib StockSharp\StockSharp_4.0.21_Sources\Samples\Quik\Sample\MainWindow.xaml.cs:строка 167 в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в StockSharp.Algo.BaseTrader.#=qepDkskvfBznv_TxRF4yrHrSmn6GO3w$xqR1CIq0ckKQ=.#=qA2uCed6RkDY$ALG9UmQnSg==(IEnumerable1 #=qPGXNlOeGBVUabNWOLh_DvA==)

Картинка

Спасибо:

Alexander

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


Quik\Sample попробовали? И что у вас на 167 строке что он так ругается? :)

Спасибо:
< 1 2 3 4  >

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

loading
clippy