Изучаю поведение MarketQuotingStrategy и возник такой вопрос. Если выставлять тип цена Following и отступ от лучшей цены Bid/Ask больше 0, то в итоге получаем, что заявка выставляется в стакан как положено с учетом отступа, но MarketQuotingStrategy получает обновление стакана уже с учетом выставленной своей же заявки и считает, что лучшая цена изменилась и вновь переставляет свою заявку с учетом отступа. И это происходит до тех пор, пока заявка не придет на противоположный край спреда в стакане и не исполнится. Подскажите, как или что нужно переопределить/указать/изменить в MarketQuotingStrategy, чтобы стакан она мониторила без учета всех моих заявок? Код использую такой, проверял на низколиквидных инструментах с широким спредом в стакане:
var v1 = new Unit(1, UnitTypes.Step, Security);
var v2 = new Unit(0, UnitTypes.Step, Security);
var strategy = new MarketQuotingStrategy(direction, volume)
{
PriceType = MarketPriceTypes.Following,//.Opposite,//.Middle,//
Volume = volume,
PriceOffset = v1,
BestPriceOffset = v2,
};
ChildStrategies.Add(strategy);
评论 (7)
登录 或 创建账户, 登录或注册以发表评论
http://stocksharp.com/edu/#block_section_3
Если у тебя будет BestPriceOffset >= PriceOffset, то такого происходить не будет, по крайней мере если судить по старым сорцам из паблика.
что будет если BestPriceOffset и PriceOffset будут равны?
Чтобы не плодить тем еще один вопрос над которым я уже всю голову сломал. Открываем позицию по RIZ (тестовый квик Церих) выше описанных методом и в PnL получаю всякую муру:
Стоимость шага цены из таблицы инструментов 7,71242, лот=1, шаг цены=10. Почему сразу после открытия позиции PnL=-114780 вместо нуля и почему он дальше считает непонятную цифру без учета шага цены (в 10 раз больше, чем нужно)?
Открыл пример quik sample, там в таблице инструментов у всех инструментов шаг стоит как по умолчанию 0,01
А в ответ тишина...
Еще такая проблема с котированием, стратегия не может переставить заявку:
С чем может быть связано?
И еще вопрос, как в marketquotingstrategy бороться с ошибкой "Идет пром. клиринг, нельзя совершать торговые операции"? Возникает в случае, когда котирование началось перед клирингом, но заявки не успели исполниться.