← Назад

исключение Wrong Syntax при попытке поставить заявку

Order or = new Order(); or.Security = sec; or.Direction = OrderDirections.Buy; or.Price =m.BestAsk.Price + m.BestAsk.Price * 0.005;

or.Volume = vol; or.Portfolio = port; trader.RegisterOrder(or);

Версия s# 2.4 заяка выставляется на фьючерс ...

Комментарии (12)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

MCTuTeJ|19951995
MCTuTeJ|19951995 Автор

Код ошибки WrongSyntax Сообщение ACCOUNT=SPBFUT00559; CLIENT_CODE=XXX; TYPE=L; TRANS_ID=38895478; CLASSCODE=SPBFUT; SECCODE=LKU0; ACTION=NEW_ORDER; OPERATION=B; QUANTITY=1; PRICE=17127,21;

Mikhail Sukhov
Mikhail Sukhov

А цена правильная? Кратная шагу? У него сегодня последний день обращения.

MCTuTeJ|19951995
MCTuTeJ|19951995 Автор

Нет, цена была неправильная ( Но, кстати, при попытке выравнять её методом ShrinkPrice была ошибка ...

Mikhail Sukhov
Mikhail Sukhov

Дайте угадаю, шаг цены равен 0 (в старой версии деление на ноль)? Это значит проблема с настройками таблицы в инструменты. Прогоните Verifier-ом.

MCTuTeJ|19951995
MCTuTeJ|19951995 Автор

Да, действительно, вы очень проницательны ) Верифер действительно выдает ошибку: инструменты В таблице 'инструменты' по индексу 11 должна быть колонка 'Количество контрактов в последней сделке' вместо колонки 'Количество в последней сделке'.

Но в таблице инструментов, при редактировании, нет такой колонки как "Количество контрактов в последней сделке", есть только "Количество в последней сделке" ..

MCTuTeJ|19951995
MCTuTeJ|19951995 Автор

Версия квик 5.17.0.139.

MCTuTeJ|19951995
MCTuTeJ|19951995 Автор

Но вроде работает и без этого

Mikhail Sukhov
Mikhail Sukhov

Ок, в таблицы Инструменты колонок дат сколько? 2 или одна?

MCTuTeJ|19951995
MCTuTeJ|19951995 Автор

Одна - "Время последней сделки".

Mikhail Sukhov
Mikhail Sukhov

Тогда не очень понятно, что у Вас с шагом цены. Какое значение принимает инструмент в роботе?

MCTuTeJ|19951995
MCTuTeJ|19951995 Автор

В каком смысле ? метод ShrinkPrice принимает double, инструмент - по событию trader.QuotesChanged присваивается Security sec = quotes.FirstOrDefault(m=>m.Security.Code==secCode);

Mikhail Sukhov
Mikhail Sukhov

Я имел ввиду значение шага цены, а не самого инструмента. Метод ShrinkPrice бросает исключение, когда Security.MinStepSize равен нулю. Чего быть не может.