Изложите четкие правила использования минимального стопуровня - страница 3

 
Да собственно и на демо сервере Метаквотес та же ошибка.....

Итак какая же правильная формула для минимального ТП?
minTP = STOPLEVEL
или
minTP = SPREAD + STOPLEVEL ?
 
Вы полностью цитируете мои высказывания, но не вчитываетесь в них. Просто изумительно!

Не надо забывать, что попытка установки стопа вплотную к возможному уровню может произойти в момент прихода нового ценового тика на сервере. И это значит, что достаточно часто(именно часто!) сервер будет выдавать ответ ERR_INVALID_STOPS.


Я же четко написал "И это значит, что достаточно часто(именно часто!) сервер будет выдавать ответ ERR_INVALID_STOPS".

То, что сервер сообщает о минимальном отступе никак не означает, что клиенту достаточно написать NormalizeDouble(Bid-stoplevel*Point,digits). Конечные проверки всегда делаются на сервере и сервер вправе отказать, если у него есть новая цена, для которой уровень стопа слишком близко стоит.


Перечитайте еще раз _все_мое_сообщение_, пожалуйста. Там все детально рассмотрено и объяснено.
 
Вы полностью цитируете мои высказывания, но не вчитываетесь в них. Просто изумительно!

Не надо забывать, что попытка установки стопа вплотную к возможному уровню может произойти в момент прихода нового ценового тика на сервере. И это значит, что достаточно часто(именно часто!) сервер будет выдавать ответ ERR_INVALID_STOPS.


Я же четко написал "И это значит, что достаточно часто(именно часто!) сервер будет выдавать ответ ERR_INVALID_STOPS".

То, что сервер сообщает о минимальном отступе никак не означает, что клиенту достаточно написать NormalizeDouble(Bid-stoplevel*Point,digits). Конечные проверки всегда делаются на сервере и сервер вправе отказать, если у него есть новая цена, для которой уровень стопа слишком близко стоит.


Перечитайте еще раз _все_мое_сообщение_, пожалуйста. Там все детально рассмотрено и объяснено.


Если бы я не запускал скрипт более 10 раз на каждом из серверов я бы не стал тревожить Вас...
Если Вы не доверяете моим результатам запустите свой скрипт на вашем демо сервере 10 раз и опубликуйте результат - сколько раз он не выдал ошибку....

Мои собственные скрипты показывают что новые тики здесь ни при чем... Как только я пытаюсь выставить ТП меньше чем СТОПЛЕВЕЛ+СПЕРД ошибка приходит всегда.... Если же ТП>Цена+Спред+Стоплевел то ордер выставляется без всяких проблем....

Получается что мы имеем ошибку не из-за логики скрипта а из-за настроек сервера

ticket=OrderSend(Symbol(),OP_BUY,volume,Ask,2,
NormalizeDouble(Bid-stoplevel*Point,digits), // SL
NormalizeDouble(Bid+stoplevel*Point,digits)); // TP

Даю голову на отсечение что на сервере вместо
ТП = NormalizeDouble(Bid+stoplevel*Point,digits)
используется
ТП = NormalizeDouble(Ask+stoplevel*Point,digits)
 

То, что сервер сообщает о минимальном отступе никак не означает, что клиенту достаточно написать NormalizeDouble(Bid-stoplevel*Point,digits). Конечные проверки всегда делаются на сервере и сервер вправе отказать, если у него есть новая цена, для которой уровень стопа слишком близко стоит.


NormalizeDouble(Bid-stoplevel*Point,digits) - этого конечно недостаточно!

NormalizeDouble(Bid-(stoplevel+slippage+1)*Point,digits) - а вот этого уже достаточно.

Только вопрос остается открытым: в каком случае от аск отсчитывать, а в каком от бид. Всего четыре случая для рыночных ордеров: длинные позиции сл и тп, и короткие сл и тп. И еще четыре случая для цены открытия отложенных ордеров.

Почему-то у меня глубокое убеждение, что этот момент должен быть тчательно документирован.
 
Alexz и Integer: какие у вас вообще билды терминала?
 
У меня Альпари-демо и Метаквотес-демо оба билд 193
 
У меня 193
 
Ренат, работает ли ваш скрипт на сервере Метаквотес-демо?
 
Ситуация такова, что изменение проверки стопов было сделано не только в клиентском терминале, но и в сервере. То есть, сейчас серверные проверки соотвествуют 195 (194) билду клиентского терминала.

Используя 193 билд, вы получаете рассогласование проверок стопов. В клиентском терминале проверка проходит, на сервере уже нет. Либо в клиентском терминале не проходит проверка стопов, которые вполне устроили бы серверную сторону.
 
Изложите эти правила проверки, ПОЖАЛУЙСТА.
Причина обращения: