Еще раз про ошибку №130

 
Возможно ли при возврате сервером ошибки №130 возвращать также текущую цену сервера (как при реквоте)... Уже надоели ситуации когда сервер отбивает правильный ордер без всяких видимых причин... Для анализа ситуации нужно видеть цену и тогда можно выяснить причину возврата ошибки...
На данном этапе возврат №130 выглядит как "Ордер не приму а почему - не скажу"

Я уже неоднократно поднимал тему... "Некорректный возврат ошибки №130 при установке ордера" и "Некоторые баги клиента и сервера"

Ответьте хоть что-нибудь!!!
 
Совершенно определённая ошибка - "Слишком близкие стопы или неправильно рассчитанные или ненормализованные цены в стопах (или в цене открытия отложенного ордера)."
 

Alexandr 07.11.05 19:41

Процедура проверки:

Клиентский терминал:
1. Проверка на клиенте наличия цен клиента в ценовом потоке. В случае отсутствия - немедленный возврат с сообщением "Invalid prices"

Сервер:

2. Проверка переданных клиентом цен на допустимое отклонение (определяется владельцем сервера) от текущих рыночных цен.
Если цена удовлетворяет условию - к п. 3
Если отклонение больше допустимого:

- если отклонение текущей рыночной цены от цены запрашиваемой клиентом меньше-равно чем Slippage - к п.3

- если отклонение текущей рыночной цены от цены запрашиваемой клиентом
больше чем Slippage - клиенту возвращается реквот с текущими рыночными ценами.

3. Проверка переданных клиентом цен на наличие в ценовом потоке. В случае отсутствия - клиенту возвращается реквот с текущими рыночными ценами.

4. Запрос передаётся дилеру. В случае, если дилер реквотирует заявку клиента по новой
цене проверяется:

- если отклонение цены выданной дилером от цены запрашиваемой клиентом меньше-равно чем Slippage - ордер принимается к обработке;

- если отклонение цены выданной дилером от цены запрашиваемой клиентом больше чем Slippage - клиенту возвращается реквот с ценами дилера;



Еще раз объясню ситуацию...
Для примера сделаю рассчет для ордера BUY

Выставляю ордер в котором текущая цена берется из
MarketInfo(Symbol,MODE_ASK)

SL = MarketInfo(Symbol,MODE_BID) - (MarketInfo(Symbol,MODE_STOPLEVEL)+1)*MarketInfo(Symbol,MODE_POINT)

TP = MarketInfo(Symbol,MODE_ASK) + (MarketInfo(Symbol,MODE_STOPLEVEL)+1)*MarketInfo(Symbol,MODE_POINT)

Слиппаж равен нулю

Цена открытия, стоплосс и тэйкпрофит рассчитаны корректно и с учетом стоплевела...

Сервер возвращает ошибку №130...

В вышеприведенной цитате сотрудника компании о такой ситуации речи нет...

Я понимаю так: если цена не менялась то ПОЧЕМУ серверу не понравились правильно рассчитанные уровни СЛ иТП?
Если цена поменялась то ПОЧЕМУ приходит ошибка №130 из которой я не могу извлечь никакой информации? Из цитаты я явно вижу что в случае изменения цены в моем случае при нулевом слиппаже должна приходить ошибка №138...

Почему это не так?

ЗЫ если нужна дополнительная информация - предоставлю, только не молчите!! :)))
 
Дело в том, что стопы проверяются раньше, чем проверяется цена. И этот порядок не изменить.

Первоначальная проверка стопов производится на клиентской стороне.
 
Понятно. Значит возврат №130 в этом случае я могу приравнять к реквоте...
Что ж будем справляться своими силами раз ничего нельзя сделать :)

Спасибо за ответ
Причина обращения: