Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Итак какая же правильная формула для минимального ТП?
minTP = STOPLEVEL
или
minTP = SPREAD + STOPLEVEL ?
Я же четко написал "И это значит, что достаточно часто(именно часто!) сервер будет выдавать ответ ERR_INVALID_STOPS".
Перечитайте еще раз _все_мое_сообщение_, пожалуйста. Там все детально рассмотрено и объяснено.
Я же четко написал "И это значит, что достаточно часто(именно часто!) сервер будет выдавать ответ ERR_INVALID_STOPS".
Перечитайте еще раз _все_мое_сообщение_, пожалуйста. Там все детально рассмотрено и объяснено.
Если бы я не запускал скрипт более 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) - а вот этого уже достаточно.
Только вопрос остается открытым: в каком случае от аск отсчитывать, а в каком от бид. Всего четыре случая для рыночных ордеров: длинные позиции сл и тп, и короткие сл и тп. И еще четыре случая для цены открытия отложенных ордеров.
Почему-то у меня глубокое убеждение, что этот момент должен быть тчательно документирован.
Используя 193 билд, вы получаете рассогласование проверок стопов. В клиентском терминале проверка проходит, на сервере уже нет. Либо в клиентском терминале не проходит проверка стопов, которые вполне устроили бы серверную сторону.