Вопросы новичка в S#

Вопросы новичка в S# (Locked)
Atom
12/1/2010
ttt


Добрый день. Очень понравилась идея использования Вашей библиотеки для реализации роботов. Подскажите, пожалуйста:

  1. Как идентифицировать заявку? //например, выставляю заявку buy RIZ0 4 контракта по цене 160500. Каким образом далее смогу ее отслеживать? Вариант с использованием таблицы сделок не подходит - необходимо реализовать контроль исполнения заявок пользуясь исключительно информацией из таблицы заявок. С языком C# только начал разбираться, возможно поэтому не нашел в представленных в дистрибутиве S# проектах примеров контроля состояния заявки по ее уникальному признаку.
  2. Верно ли я понимаю суть работы с Квиком: для реализации автономного робота необходимо организовать два потока на C#:
  • первый: выполняет функции получения данных из Квика через DDE сервер (используя библиотеку S#);
  • второй: непосредственно реализует алгоритм выставления и снятия заявок. Можно ли обойтись одним потоком?


<< < 10 11 12 13 14  > >>
dimakl

Avatar
Date: 3/14/2011


Здравствуйте. У меня не работает пример SampleConsole, причем для разных Quik не работает по разному. Сделал все как написано в примере из мануала.

  1. QuikJunior от Quik. Verifer ругается "Таблица инструменты. В таблице "инструменты" по индексу 3 должна быть колонка "Статус" вместо колонки "Статус торговли инструментом""(В настройках я не нашел колонки Статус). Но SampleConsole в свою очередь нормально подключается, находит инструмент и портфель, только все данные по инструменту равны 0. Т.е. цена например всегда равна 0.

  2. Quik от КитФинанс. Verifier говорит что все в порядке. Но в данном случае находится инструмент, но не находится портфель. Вообще событие о появление нового портфеля не происходит. Хотя в настройках квика есть два портфеля.

StockSharp 3.0.15 Quik 5.18

Thanks:

MCTuTeJ|19951995

Avatar
Date: 3/14/2011


Есть вопрос по MarketQuotingStrategy: Верно ли что метод OnProcess родительской стратегии не будет вызываться до тех пор, пока котирование не завершится ?

Thanks:

MCTuTeJ|19951995

Avatar
Date: 3/14/2011


При использовании MarketQuotingStrategy столкнулся с такой ошибкой:

MQS 11:30:40.6451718 System.ArgumentOutOfRangeException: Десятичное число может округляться только с точностью от 0 до 28 разрядов. Имя параметра: decimals в System.Decimal.FCallRound(Decimal& d, Int32 decimals) в System.Decimal.Round(Decimal d, Int32 decimals) в Ecng.Trading.Algo.TraderHelper.ShrinkPrice(Security security, Double price, ShrinkRules rule) в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess() в Ecng.Trading.Algo.Strategies.Strategy.#=qiRcAHlpbxRjZjyUrS0Iw1A==() MQS 11:30:40.6500546 Стратегия останавливается. MQS 11:30:42.4820859 Котирование закончилось. MQS 11:30:42.4830625 Стратегия остановлена.

Стратегию создаю след, образом:


MarketQuotingStrategy strategy = new MarketQuotingStrategy(MarketOrder, new Unit(), new Unit());
                                    strategy.IsParallel = true;
                                    this.ChildStrategies.Add(strategy);

Пробовал создавать непустые юниты ( с единичками, торгую на инструменте с шагом цены 1 )

Thanks:

Mikhail Sukhov

Avatar
Date: 3/14/2011


MCTuTeJ|19951995: При использовании MarketQuotingStrategy столкнулся с такой ошибкой:

MQS 11:30:40.6451718 System.ArgumentOutOfRangeException: Десятичное число может округляться только с точностью от 0 до 28 разрядов. Имя параметра: decimals в System.Decimal.FCallRound(Decimal& d, Int32 decimals) в System.Decimal.Round(Decimal d, Int32 decimals) в Ecng.Trading.Algo.TraderHelper.ShrinkPrice(Security security, Double price, ShrinkRules rule) в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess() в Ecng.Trading.Algo.Strategies.Strategy.#=qiRcAHlpbxRjZjyUrS0Iw1A==()

Это не поможет http://stocksharp.com/forum/1060/dielieniie-na-0-pri-kotirovanii/

Thanks:

Mikhail Sukhov

Avatar
Date: 3/14/2011


dimakl: Здравствуйте. У меня не работает пример SampleConsole, причем для разных Quik не работает по разному. Сделал все как написано в примере из мануала.

В примере ошибка - нужно еще экспортировать стакан. Предупреждение о статусе игнорируйте.

Thanks:

MCTuTeJ|19951995

Avatar
Date: 3/14/2011


Mikhail Sukhov:

MCTuTeJ|19951995: При использовании MarketQuotingStrategy столкнулся с такой ошибкой:

MQS 11:30:40.6451718 System.ArgumentOutOfRangeException: Десятичное число может округляться только с точностью от 0 до 28 разрядов. Имя параметра: decimals в System.Decimal.FCallRound(Decimal& d, Int32 decimals) в System.Decimal.Round(Decimal d, Int32 decimals) в Ecng.Trading.Algo.TraderHelper.ShrinkPrice(Security security, Double price, ShrinkRules rule) в Ecng.Trading.Algo.Strategies.QuotingStrategy.OnProcess() в Ecng.Trading.Algo.Strategies.Strategy.#=qiRcAHlpbxRjZjyUrS0Iw1A==()

Это не поможет http://stocksharp.com/forum/1060/dielieniie-na-0-pri-kotirovanii/

Я так понял у вопрошаюшего была проблема с таблицей инструментов - лишняя колонка.

Я из этой таблицы дополнительно беру волатильность и дату эксперации, может в этом быть проблема ? Verifierom проверял, не ругается вроде. Да, версия s# 2.6 .

Thanks:

Mikhail Sukhov

Avatar
Date: 3/14/2011


MCTuTeJ|19951995: Я так понял у вопрошаюшего была проблема с таблицей инструментов - лишняя колонка.

Я из этой таблицы дополнительно беру волатильность и дату эксперации, может в этом быть проблема ? Verifierom проверял, не ругается вроде. Да, версия s# 2.6 .

Тогда выведите, чему равны в программе значения Security MinStepSize Decimals + цену передаваемой заявки.

Thanks:

MCTuTeJ|19951995

Avatar
Date: 3/14/2011


Decimals 100 MinStepSize 1 Цена 21420

Thanks:

MCTuTeJ|19951995

Avatar
Date: 3/14/2011


Видимо проблема в decimals 100 ))

Thanks:

MCTuTeJ|19951995

Avatar
Date: 3/14/2011


Scurity:

Thanks:
<< < 10 11 12 13 14  > >>

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy