Сохранение стаканов по GAZP@EQNE
Atom Ответить
04.09.2012


Версия 4.1.3.
При сохранении стакана получаю ошибку:

System.ArgumentException was unhandled by user code
HResult=-2147024809
Message=Минимальный шаг цены 2 не соответствует самой цене 157,12.
Parameter name: minStepSize
Source=StockSharp.Algo
ParamName=minStepSize
StackTrace:
at #=qWS6OUYaoueyv8N_p$iUUwZ85UAdWtPhxpaXagCNkqCwLCJVYOkuKBLIeK7jI5aUc5Sn8BEb9tO2mntII3NTxVQ==.#=qAnBz8Ityt4T6LvTRdUnNBg==(List`1 #=qemH3YAbFDmz4Cwm4$RSaNw==, Decimal #=qkU1DO$f1w1vnnS16DiKOFg==, Decimal #=qxPCVYHoKRzE58GKN5SuTNg==, Decimal #=qFNnnskeqZXDXvK9SSHZTtQ==)
at #=qBqzAfx4eX6jbAhjwSd62HDxRx7KjXUhZdaqXaKrbhWNK89$cczN7Ybo1P582C383.#=q969U9984I3HTR_4ffrpawxtVfjAdaV8QbNMp6iNTuRY=(List`1 #=qfk$TQuhZjR0JVwetyRmlbQ==, Quote[] #=qkiOcNo3i9GbfYwIUpBhkog==, #=qvs0CsnLs_Ss1esfBSm5zwBJaDoBW$uY3FBMC6svegSZeQ2rqGZkXJaXHGH7s1irW #=q$pMXMoyIX6UURz7ULcGzlQ==, Boolean #=qPXEk8bqhIVqtD1r6qQRxfQ==)
at #=qBqzAfx4eX6jbAhjwSd62HDxRx7KjXUhZdaqXaKrbhWNK89$cczN7Ybo1P582C383.#=qPNbrzoo63qiPKAB3RxCH5A==(List`1 #=qHaHP4WZSVdKz53Hwzy$ekw==, IEnumerable`1 #=qASUWOKDOCFZ2Wu9LWXkBtQ==, #=qvs0CsnLs_Ss1esfBSm5zwBJaDoBW$uY3FBMC6svegSZeQ2rqGZkXJaXHGH7s1irW #=qMfciDzi6G743_rIzu43_Aw==)
at #=qz04YdXG2$YAOxeHvpD93kpzjtGGmn$CBMgLGYgYx3D5hyvyfpJ92$IJuzvbahT9DbHGoXECLGq73jVeWqoM7WA==.#=qhS5pEqj0jxrC3EkM2L2ByLP81D1u7MoFLP3gC9SmO2Ha62X2cRDXdnIw_qFSrI0yPZNVSXkqSrWbXB_ShwaNMF27KENqU9n7vKpFW$rzX$w=(IEnumerable`1 #=qVh5t1g33tQf$GUY1wukgfA==, #=qT_JKyf8jvmdh8CnDd2erv404Kgk89rxorXnimUV3J5ygkrYMLo9XjjmlV7xs65$6 #=qSWB2y1ELx12TguZDCS1CWQ==)
at #=qh2YSDa39RBEjCcO4rb2nambbPWQx618j_mhbAjIJkMVjnwGRGU3KGJb5NYvLGTBn.#=qteF9LpJJBLkC9LySoZdzwA==(DateTime #=qZ5Kd0lhJbrY2DbBE04yF9Q==, #=qZHHnzqkYDg7xCyaxj6PR9A==[] #=qh5tCqhElr2D_oYbBKomIaQ==, Boolean #=qSVNcMUfTvym2UYUPwu0xcQ==)
at #=qh2YSDa39RBEjCcO4rb2nambbPWQx618j_mhbAjIJkMVjnwGRGU3KGJb5NYvLGTBn.Save(IEnumerable`1 #=qDijncmxOZuMVXEQZJ6Gg9w==)
at HydraConsole.Initializer.SaveMarketDepths() in C:\ActiveProjects\AlgoTrading2\trunk\SourceCode\Hydra3\Hydra\Initializer.cs:line 313
at HydraConsole.Initializer.<>c__DisplayClass1d.<InitializeWorker>b__19(Object sender, DoWorkEventArgs args) in C:\ActiveProjects\AlgoTrading2\trunk\SourceCode\Hydra3\Hydra\Initializer.cs:line 235
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
InnerException:

javascript:__doPostBack('forum$ctl03$PostReply','')
Бумагу со всеми параметрами получаю со смарткома как в примере SampleSmartConsole
При попытке качать маркет данные по бумагам ММВБ в Гидре получал аналогичные ошибки.


Теги:


Спасибо:




8 Ответов
Mikhail Sukhov

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


vk37 Перейти
Версия 4.1.3.
При сохранении стакана получаю ошибку:


https://stocksharp.ru/posts/m/17308/
Спасибо:

vk37

Фотография
Курсы
Дата: 04.09.2012
Ответить


При попытке исправить это самостоятельно в Гидре, обнаружил, что минимальный шаг цены в таблице Securities для ММВБ бумаг выставляется почти правильно. Точно не помню, но что-то вроде: где нужно 0.01 - выставляется 100, где нужно 0.00001, выставляется 10000. Ну если это поможет. У меня такой вопрос. Хочу поэкспериментировать со скальпингом на РТС. Нужны стаканы. Подключаться к Плазе дорого для меня. Что выбрать: смарт, квик, что-то еще?
Автор топика
Спасибо:

Mikhail Sukhov

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


vk37 Перейти
При попытке исправить это самостоятельно в Гидре, обнаружил, что минимальный шаг цены в таблице Securities для ММВБ бумаг выставляется почти правильно. Точно не помню, но что-то вроде: где нужно 0.01 - выставляется 100, где нужно 0.00001, выставляется 10000. Ну если это поможет. У меня такой вопрос. Хочу поэкспериментировать со скальпингом на РТС. Нужны стаканы. Подключаться к Плазе дорого для меня. Что выбрать: смарт, квик, что-то еще?


Если поможете нам в Гидре, можно попробовать стаканную историю РТС с плазы для вас как-то организовать.Wink
Спасибо:

vk37

Фотография
Курсы
Дата: 05.09.2012
Ответить


Чем могу помочь?
Автор топика
Спасибо:

Mikhail Sukhov

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


vk37 Перейти
Чем могу помочь?


Есть скайп? Напишите в личку.
Спасибо:

vk37

Фотография
Курсы
Дата: 05.09.2012
Ответить


Решил вопрос добавлением в обработчик события SmartTrader.NewSecurities кода:
Код

  if (security.Exchange == Exchange.Micex)
    security.MinStepSize = 1/Math.Pow(10, security.MinStepSize);

Math:
Код

    public class Math
    {
        public static decimal Pow(decimal @base, decimal exponent)
        {
            if (exponent == 0M) return 1M;

            var result = @base;

            for (var iteration = 1M; iteration < exponent; iteration += 1M)
                result *= @base;

            return result;
        }
    }

Стаканы буду писать завтра, но думаю все будет ОК )
Автор топика
Спасибо:

Mikhail Sukhov

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


vk37 Перейти
Решил вопрос добавлением в обработчик события SmartTrader.NewSecurities кода:


Может в ИТ написать еще раз? С третьей попытки может что починят.
Спасибо:

vk37

Фотография
Курсы
Дата: 13.12.2012
Ответить


vk37 Перейти
Решил вопрос добавлением в обработчик события SmartTrader.NewSecurities кода
Теперь то же самое с индексами MICEX, MICEX10. Поставил условие:
Код
if (security.Exchange == Exchange.Micex && security.Type == SecurityTypes.Index)
  security.MinStepSize = 1 / MathEx.Pow(10, security.MinStepSize);

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


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

loading
clippy