Котирование
Atom
16.01.2015
Иван З.


Как я понимаю есть 2 варианта запустить котирования
1) из документации http://stocksharp.com/do...c-bc8b-4afde645e483.htm
Код
var strategy = new MarketQuotingStrategy(order, new Unit());
base.ChildStrategies.Add(strategy);

Работает нормально, по крайней мере позиции набирает.


2) из одного из обновления http://stocksharp.com/fo...285/Stock--4-0-Release/
Код

this.OpenPositionByQuoting(10);

Работает не нормально, либо не правильно использую
В стратегии просто набираю позицию

В тестовом КВИКе выдает ошибку

Лог приложу
Еще раз повторю, что 1й работает а 2й не работает
Вопрос: это я не правильно использую или это баг?
log.txt 72 KB (369)

Теги:


Спасибо:


< 1 2 3 4  > >>
Иван З.

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


Перед стартом стратегии

После старта стратегии, MQS выставила заявку на 1227

Появилась заявка выше на 1230, MQS переставила заявку на 1231

Заявка что была на 1230 ушла, заявка MQS осталась на 1231, а должна была откатится 1227


код вызова MQS
Код

        void OpenPositionQuoting(Sides side, decimal volume)
        {
            
            var strat = new MarketQuotingStrategy(side, volume)
            {
                IsSupportAtomicReRegister = false,
                BestPriceOffset =Security.PriceStep, // Отступ от лучшей цены, на который может уйти котируемая заявка.
                PriceOffset = Security.PriceStep,     // котировки (для покупки прибавляется к цене, для продажи - вычитается).
                PriceType = MarketPriceTypes.Following,
                LogLevel = LogLevels.Debug,
            };
            base.ChildStrategies.Add(strat);
        }

Лог стратегии прилагается.

Если унаследоваться от MarketQuotingStrategy и переопределить BestPrice на код аналогичный сорцам на http://stocksharp.codepl...gies/QuotingStrategy.cs

Код

protected override decimal? BestPrice
         {
             get
             {
                 var quote = GetFilteredQuotes(QuotingDirection).FirstOrDefault();
                 if (quote != null) return quote.Price;
                 return (decimal)Security.GetCurrentPrice(Connector, QuotingDirection.Invert());
             }
         }

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

Смотреть всем!

Михаил, думаю полезно будет выложить актуальные сорцы адаптированны к последней версии S# на github, которые не имеют коммерческой ценности или уже выложены. Стратегии, индикаторы и др., они уже выложены codeplex но слегка устарели. Пользователю будет польза, и к вам меньше вопросов на подобие этого.
Народ выскажитесь кто что думает по этому поводу, может коллективом уговорим! [biggrin]
log.txt 12 KB (271)
Спасибо:

Mikhail Sukhov

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


Я предлагаю все же не уходить сильно далеко от логов.

Они приложены. Анализ логов не увидел.
Спасибо:

Иван З.

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



Первый раз выделено желтым, поведение MQS на появление заявки перед заявкой MQS. При этом изменилась лучшая цена и стакан конечно. Лог это показывает, на это реагирует стратегия.
Второй раз выделено желтым, поведение MQS на исчезновение заявки после заявки MQS. При этом изменился стакан, но лучшие цены не изменились. И MQS не реагирует на это изменение, хотя должно.

Вопрос об сорцах не технический, а скорее политический. И вполне подходит для флудилки в телеграмме.
Спасибо:

Mikhail Sukhov

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


1. Лог обрезан.
2. Не понимаю вывода насчет должно. Не менялись лучшие цены - нет и изменения заявки.

Мне кажется лучше будет не пытаться поскорее написать на форуме, а все же потратить время, проанализировать лог, и уже затем написать на форуме. Вся эта переписка - это переливание из пустого в порожнее.

Сырцы - https://github.com/stocksharp/stocksharp Посмотрим как будет помощь. Будут коммитить - будут и стратегии в том числе. Не будут - ну значит никому особо и не нужно и достаточно бинарников.

Флудить в чате не нужно. Кросс постить так же не нужно. Ну да теперь только форум доступен, поэтому ошибиться сложно.[biggrin]
Спасибо:

Иван З.

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


Михаил Сухов
1. Лог обрезан.

Лог не обрезан, такое поведение MQS

Спасибо:

Иван З.

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


MarketQuotingStrategy все таки работает не верно.
Попытаюсь объяснить еще раз.
QUIK демо версия 6.16.1.15 качал здесь http://quik.ru/user/client/quik/how-to-start/
Инструмент выбран(security.Code == "HALS") с большим спредом, чтоб можно было переставлять заявки.
Пишу 2 лога. В logAll.txt пишу все логи от трейдера и стратегии, в logStratagy.txt только стратегию.
Загружаю программу, подключаюсь к QUIK, запускаю стратегию
Картинка

Лог стратегии

Открываю QUIK, выставляю руками заявку на 1260. MQS адекватно реагирует на изменение стакана и переставляет котировку на 1261
Картинка

Лог стратегии

Удаляю выставленную руками заявку на 1260, для MQS лучшей заявкой должна стать 1256. И MQS должна передвинуть заявку на 1257.

Лог стратегии

Лог стратегии + трейдер


Выставил руками еще одну заявку на 1258, на это раз лучшей ценой для MQS должна стать 1258. И соответственно переставить заявку на 1259.


Лог стратегии


Лог стратегии + трейдер


Лог стратегии не обрезан. Стратеги просто ничего не делает.
Прикрепляю логи, и стратегию.
Если MarketQuotingStrategy скопировать здесь http://stocksharp.codepl...arketQuotingStrategy.cs адаптировать под последнюю версию S#. То проблема уходит.
Спасибо:

Mikhail Sukhov

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


Давайте еще раз. Покажите где в логе ошибка. Смотреть тонну логов ради непонятной ошибки (есть она или нет) нет возможности. Поберетиге наше время, потратьте пару дней на анализ лога и выложите его с комментариями.
Спасибо:

Andrii

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


Михаил Сухов
Давайте еще раз. Покажите где в логе ошибка. Смотреть тонну логов ради непонятной ошибки (есть она или нет) нет возможности. Поберетиге наше время, потратьте пару дней на анализ лога и выложите его с комментариями.


Ошибка в QuotingStrategy.cs свойство BestPrice

Код
if (Direction == Sides.Buy)
{
   if(CurrentOrder.Price > Price)
      return CurrentOrder.Price;
}


Спасибо:

RomSunZ

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


Михаил, MQS считает свою заявку лучшей, поэтому не откатывает эту заявку "назад" к краю спреда в стакане.
Спасибо: Иван З.

Иван З.

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


В текущем варианте в лог стратегии пишет так


А должен написать так, именно так пишет вариант MQS с codeplex.
Спасибо:
< 1 2 3 4  > >>

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

loading
clippy