|
|
Oleg VazhnevСтаж: 11 лет 3 месяцаСообщений: 1381 | | | | Есть такое поле "decimals" которое в частности нужно при кодировании цены и постановке заявок через micex bridge. Сейчас я его из фаста достаю вот так из потока Instruments Definition:
if (identity->id() == "872") { // InstrAttribValue
if (curInstrAttribType == 27) { // 27 = decimals
decimals = Utils::mem2int(value, length);
}
}
Поле это важное, я так понимаю если ошибиться, то к цене заявки можно случайно добавить нолик (или убавить). Впрочем надеюсь что какие-то ограничения на цену сработают и такая заявка не пройдёт.
Тем не менее, какие "самые правильные места" для загрузки decimals? Micex Bridge я использую только на транзакции и таблицу своих заявок, грузить оттуда конечно можно, но не хочется. В FAST я хочу пока что, временно, от IDF отказаться вообще, поскольку поток сложный, и не каждый декодер корректно его обрабатывает. Конечно в идеале IDF грузить надо, но если без IDF и не из бриджа, то откуда нибудь ещё можно взять decimals?
| | | | | Последний раз редактировалось автором 21.05.2014 21:28, всего редактировалось 1 раз |
|
westtrdСтаж: 9 лет 8 месяцевОткуда: BelarusСообщений: 1034 | | | | В FAST других источников кроме IDF нет
| |
|
Oleg VazhnevСтаж: 11 лет 3 месяцаСообщений: 1381 | | | | ну тогда вопрос насколько часто decimals меняется я так понимаю что не меняется он годами, т.е. можно захардкодить в принципе, на какое то время. а даже если вдруг поменяется и будет +- порядок, то заявка просто не пройдёт. попробовал по мегафон например, поставить 100 рублей вместо 1000, он говорит что цена должна быть минимум 596. думаю +- порядок всегда отсечёт.
| | | | | Последний раз редактировалось автором 22.05.2014 10:17, всего редактировалось 1 раз |
|
westtrdСтаж: 9 лет 8 месяцевОткуда: BelarusСообщений: 1034 | | | | Нужно не костыли городить, которые когда то будут неизбежно стоить крупных денег, а всего лишь научиться процессить IDF
| |
|
Oleg VazhnevСтаж: 11 лет 3 месяцаСообщений: 1381 | | | | "всего лишь научиться процессить IDF" это неоправданно сложно, целесообразно только если совсем по другому никак, но по идее если захардкодить decimals - катастрофы не случится.
| |
|
westtrdСтаж: 9 лет 8 месяцевОткуда: BelarusСообщений: 1034 | | | | это не неоправданно сложно, это абсолютно штатный функционал торгового фреймворка
| |
|
Oleg VazhnevСтаж: 11 лет 3 месяцаСообщений: 1381 | | | | так значит абсолютно штатный функционал торгового фреймворка неоправданно сложен в реализации 
уж проще с micex bridge IDF взять чем декодер фаста писать.
| | | | | Последний раз редактировалось автором 24.05.2014 20:18, всего редактировалось 1 раз |
|
westtrdСтаж: 9 лет 8 месяцевОткуда: BelarusСообщений: 1034 | | | | мое имхо, профессиональная реализация FIX+FAST в качестве торгового енжина предпочтительнее, работа по поддержке 2-х систем доступа сокращается, и в будущем так или иначе собственная работа с бинарными сетевыми данными будет мейнстримом
| |
|
Oleg VazhnevСтаж: 11 лет 3 месяцаСообщений: 1381 | | | | Ну к сожалению некоторые публичные декодеры с IDF не справляются и простого решения этой проблемы нет 
Конечно когда декодер собственнонаписанный проще поднапрячься и допилить его на IDF.
| |
|
westtrdСтаж: 9 лет 8 месяцевОткуда: BelarusСообщений: 1034 | | | | не справляются в силу отклонения енкодера от стандарта фаста, и трюками с шаблонами это не вылечить
| |
|
Oleg VazhnevСтаж: 11 лет 3 месяцаСообщений: 1381 | | | | А интересно где-то decimals можно посмотреть кроме как из шлюза/фаста? В квике, на сайте биржи?
| |
|
Александр АгибаловСтаж: 8 лет 11 месяцевОткуда: Московская БиржаСообщений: 58 | | | | На сайте можно в двух местах узнать это значение: 1. Вот тут каждый вечер выкладывается список бумаг в разрезе режимов, которые будут торговаться "завтра": http://moex.com/a340 decimals для цены будет соответствовать числу знаков в поле MinStep. 2. А "сегодня" узнать значение decimals можно также через ИСС (http://legacy.moex.com/services/marketdata/software/iss) например вот таким запросом: http://moex.com/iss/engines/stock/markets/shares/boards/tqbr/securities
| |
|
Oleg VazhnevСтаж: 11 лет 3 месяцаСообщений: 1381 | | | | Спасибо, Александр.
Александр Агибалов писал(а): decimals для цены будет соответствовать числу знаков в поле MinStep.
а это всегда выполняется?
| | | | | Последний раз редактировалось автором 04.06.2014 12:42, всего редактировалось 3 раза |
|
westtrdСтаж: 9 лет 8 месяцевОткуда: BelarusСообщений: 1034 | | | | А как может быть цена не кратная шагу цены?
| |
|
Александр АгибаловСтаж: 8 лет 11 месяцевОткуда: Московская БиржаСообщений: 58 | | | | Олег, я ещё раз перечитал Ваше исходное сообщение и понял, что к сожалению, первый рекомендуемый мой способ с DBF файлом не подходит. По нему можно определить число знаков, до которых вы можете указывать цену. Но оно не учитывает нули в конце. То есть при форматировании поля для шлюза это не поможет.
Разумеется, цены не кратной шагу быть не может.
| |
|
|