не работает MarketQuotingStrategy
Atom Ответить
04.12.2012


Доброе время суток, запустил алгоритм котирования на plaza, изменив пример, находящийся в StockSharp_4.1.6\Samples\Plaza\SampleGUI\
при работе на тестовом контуре, вопросов не возникает, работает все корректно, если переключить на бой, то при срабатывание ордера, котировщик пытает перерегистрировать ордер, или его отменить, если IsSupportAtomicReRegister = false, но ордер уже исполнен и отменять нечего, в логах собственно вываливаются warring "заявка в процессе снятия" или "заявка в процессе перерегистрации" и дальше никакие правила не срабатывают

в чем может быть проблема ?




35 Ответов
1 2  >
Ant.On.

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


+1
такая же проблема. Лог (не из примера, но все равно)
Цитата:
2012/12/05 12:15:30.359| |MQS_SBRF-12.12@RTS_SPBFUT00360|Стратегия запущена. [0,1]. Позиция при старте 0.
2012/12/05 12:15:30.359| |MQS_SBRF-12.12@RTS_SPBFUT00360|Котирование на Sell объема 1.
2012/12/05 12:15:30.359| |MQS_SBRF-12.12@RTS_SPBFUT00360|Приостановка правил. _rulesSuspendCount 1.
2012/12/05 12:15:30.359| |MQS_SBRF-12.12@RTS_SPBFUT00360|Возобновление правил. _rulesSuspendCount 0.
2012/12/05 12:15:30.359| |MQS_SBRF-12.12@RTS_SPBFUT00360|Цена текущей NULL и лучшей 9338.
2012/12/05 12:15:30.359| |MQS_SBRF-12.12@RTS_SPBFUT00360|Лучший бид 9336 и лучший аск 9339.
2012/12/05 12:15:30.359| |MQS_SBRF-12.12@RTS_SPBFUT00360|Регистрация новой заявки на Sell с ценой 9338 и объемом 1.
2012/12/05 12:15:30.359| |QuikTrader|RegisterOrder: 35124487/0 Продажа Цена=9338 Объем=1 Сост=None Бал=1
2012/12/05 12:15:30.515|Warning|MQS_SBRF-12.12@RTS_SPBFUT00360|Заявка 35124487 в процессе регистрации.
2012/12/05 12:15:30.718| |QuikTrader|OrderCancelFailed: 35124485/9566195029 Покупка Цена=5279 Объем=3 Сост=Done Бал=0
StockSharp.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку
2012/12/05 12:15:31.515|Warning|MQS_SBRF-12.12@RTS_SPBFUT00360|Заявка 35124487 в процессе регистрации.
2012/12/05 12:15:32.515|Warning|MQS_SBRF-12.12@RTS_SPBFUT00360|Заявка 35124487 в процессе регистрации.
2012/12/05 12:15:33.515|Warning|MQS_SBRF-12.12@RTS_SPBFUT00360|Заявка 35124487 в процессе регистрации.
2012/12/05 12:15:34.515|Warning|MQS_SBRF-12.12@RTS_SPBFUT00360|Заявка 35124487 в процессе регистрации.


Дальше все висит... И другие потоки не реагируют
Спасибо:

dvoris

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


+1, есть проблема
Спасибо:

Sema

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


И я плюсану. Сборка 4.1.6 пример SampleSma(добавлены только логгеры). Логи одинаковые и на боевом Квике(Бкс) и на дэмо(Квиковский сервер).
QuikTrader



Emulator



з.ы. Поделитесь костылем если кто-то изобрел, только кодом, ибо нуб Blushing
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 06.12.2012
Ответить


Я правильно понял, что проблема у всех наблюдается только если IsSupportAtomicReRegister = false?
Спасибо:

Ant.On.

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


в моем случае значение стоит false
Спасибо:

Sema

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


Mikhail Sukhov Перейти
Я правильно понял, что проблема у всех наблюдается только если IsSupportAtomicReRegister = false?


А где это найти, или это только Плазы касается? Облазил весь проект и не нашел.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 06.12.2012
Ответить


Mikhail Sukhov Перейти
Я правильно понял, что проблема у всех наблюдается только если IsSupportAtomicReRegister = false?


Если изменить на true ошибка уходит?
Спасибо:

Aware

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


Mikhail Sukhov Перейти
Mikhail Sukhov Перейти
Я правильно понял, что проблема у всех наблюдается только если IsSupportAtomicReRegister = false?


Если изменить на true ошибка уходит?


не уходит, если поставить true, то в лог сыпятся "в процессе перерегистрации"
если false, то "в процессе снятия"

Автор топика
Спасибо:

Ant.On.

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


Sema, свойство Security.Exchange.IsSupportAtomicReRegister=false;
Спасибо: Sema

seashaman

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


у меня тоже стало сбоить котирование после обновление библиотек. до этого все ровно было, ничего не менялось соответсвенно. Ордер при ниже приведенной ситуации на бирже исполняется(заявка принимается нормально). позиция открывается.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 06.12.2012
Ответить


Aware Перейти



Можно прислать измененный пример с котированием для отладки?
Спасибо:

Aware

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


Mikhail Sukhov Перейти
Aware Перейти



Можно прислать измененный пример с котированием для отладки?


namespace SampleGUI
{
using System;
using Ecng.Xaml;
using StockSharp.Algo;
using StockSharp.Algo.Strategies;
using StockSharp.BusinessEntities;

public class _Strategy : Strategy
{

public Security _SECURITY_future;
private MarketQuotingStrategy Quoting;
private MarketQuotingStrategy Close_Quoting;
private Order order_Sell;
private Order Close_order_Sell;

public _Strategy(Security SECURITY_future)
{
_SECURITY_future = SECURITY_future;
}

protected override void OnStarted()
{
_SECURITY_future.WhenMarketDepthChanged()
.Do(logic_Quoting).Once().Apply();

base.OnStarted();
}

private void logic_Quoting()
{
order_Sell = this.CreateOrder(OrderDirections.Sell, base.Security.BestAsk.Price, Volume);

Quoting = new MarketQuotingStrategy(order_Sell, new Unit(20), new Unit(-20))
{
Volume = 1,
Security = _SECURITY_future,
Trader = Trader,
Portfolio = Portfolio,
};

ChildStrategies.Add(Quoting);
Quoting.WhenStopped().Do(logic_Close).Once().Apply();
}

private void logic_Close()
{
Close_order_Sell = this.CreateOrder(OrderDirections.Buy, base.Security.BestBid.Price, Volume);

Close_Quoting = new MarketQuotingStrategy(Close_order_Sell, new Unit(20), new Unit(-20))
{
Volume = 1,
Security = _SECURITY_future,
Trader = Trader,
Portfolio = Portfolio,
};

ChildStrategies.Add(Close_Quoting);
Close_Quoting.WhenStopped().Do(logic_Quoting).Once().Apply();
}
}
}
Автор топика
Спасибо:

Aware

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


Mikhail Sukhov Перейти
Aware Перейти



Можно прислать измененный пример с котированием для отладки?


Есть новости ?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 10.12.2012
Ответить


Aware Перейти
Есть новости ?


Пока не смотрели. Время, время...
Спасибо:

Aware

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


Mikhail Sukhov Перейти
Aware Перейти
Есть новости ?


Пока не смотрели. Время, время...


и еще момент, в PlazaTrader не приходят сделки, через NewMyTrades
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.12.2012
Ответить


Aware Перейти
и еще момент, в PlazaTrader не приходят сделки, через NewMyTrades


SampleGUI так же не показывает?
Спасибо:

Aware

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


Mikhail Sukhov Перейти
Aware Перейти
и еще момент, в PlazaTrader не приходят сделки, через NewMyTrades


SampleGUI так же не показывает?


SampleGUI показывает и через PlazaTrader.GetPosition она тоже видна, но сделка не приходит, если её ловить в PlazaTrader.NewMyTrades или Strategy.NewMyTrades и если IsSupportAtomicReRegister не поставить в false, тогда ордер выставляется только один раз и дальше переставление не происходит, это все относится к боевому контору, на тестовом же все работает, только при исполнении ордера вылетают OrdersRegisterFailed и OrdersCancelFailed, но на работу это не влияет
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.12.2012
Ответить


Не понял. SampleGUI показывает сделку или нет?

Спасибо:

Aware

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


Mikhail Sukhov Перейти
Не понял. SampleGUI показывает сделку или нет?



если вы про MyTradesWindow, то не показывает
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.12.2012
Ответить


Aware Перейти
Mikhail Sukhov Перейти
Не понял. SampleGUI показывает сделку или нет?



если вы про MyTradesWindow, то не показывает


Какая-то у вас проблема с роутером. Запустил сейчас SampleGUI. Выставил заявку. Все пришло и отобразилось.
Спасибо:

Aware

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


Mikhail Sukhov Перейти
Aware Перейти
Mikhail Sukhov Перейти
Не понял. SampleGUI показывает сделку или нет?



если вы про MyTradesWindow, то не показывает


Какая-то у вас проблема с роутером. Запустил сейчас SampleGUI. Выставил заявку. Все пришло и отобразилось.


если выставить руками, отобразится, а если через MarketQuotingStrategy, то нет
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.12.2012
Ответить


Aware Перейти
если выставить руками, отобразится, а если через MarketQuotingStrategy, то нет


Думаете, роутер сознательно не хочет показывать сделки по заявкам, созданные вашим роботом, но пропускает заявки, созданные через пример? Я больше верю в глюк в роботе. Ищите у себя ошибку.

зы Решил временно отложить анализ первоначально проблемы с котирование и перерегистрацией, так как судя по всему ошибки у вас в роботе.
Спасибо:

Aware

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


Mikhail Sukhov Перейти
Aware Перейти
если выставить руками, отобразится, а если через MarketQuotingStrategy, то нет


Думаете, роутер сознательно не хочет показывать сделки по заявкам, созданные вашим роботом, но пропускает заявки, созданные через пример? Я больше верю в глюк в роботе. Ищите у себя ошибку.

зы Решил временно отложить анализ первоначально проблемы с котирование и перерегистрацией, так как судя по всему ошибки у вас в роботе.


запустите просто MarketQuotingStrategy и после исполнения ордера он не передаст управление в WhenStopped, а будет постоянно отменять исполненную заявку
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 11.12.2012
Ответить


Aware Перейти
запустите просто MarketQuotingStrategy и после исполнения ордера он не передаст управление в WhenStopped, а будет постоянно отменять исполненную заявку


Подождем, что скажут другие насчет SampleGUI. Если сделки не видны и у других - будем разбираться.
Спасибо:

Ant.On.

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


У меня QuikTrader. Сделки в коде я не ловлю, но вроде приходят (в дебаггере смотрел и Position у квотера правильно меняется).
У меня проявляется проблема только при запуске 2 MarketQuotingStrategy: одна после другой (по правилу WhenStopped у одной запускается вторая). так вот, если 2ая MQS успевает запуститься до того как приходит ошибка (которая очевидно из-за того, что стратегия отменяет исполнившиеся сделки перед выходом)
Цитата:
StockSharp.Quik.ApiException: Код ошибки Failed Сообщение Вы не можете снять данную заявку.

то она подвисает, и код просто ни на что не реагирует больше (может какой-то lock в стратегии ее не пускает дальше).
Ошибку воспроизвести довольно тяжело, но возникает она регулярно (от значения параметра IsSupportAtomicReRegister не зависит). Если запускать одну MQS, то вроде все работает, - но ошибки о невозможности снятия заявки все равно вылетают.
Спасибо:
1 2  >

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

loading
clippy