Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Завтра с утра напишем детально. Сегодня тяжелый день был.
Бид=1.2700 Аск=1.2703 Спред = 3п и Стоплевел 5п
-----
Если мы хотим открыть Бай:
Кус открытия ордера = Аск = 1.2703
СЛ (наиболее приближённый) = Бид-СтопЛевел = 1.2700 - 0.0005 = 1.2695
ТП (наиболее приближённый) = Бид+СтопЛевел = 1.2700 + 0.0005 = 1.2705
Такой ордер не откроется потому что:
1. Сервер заругается на ТП... ТП ближе чем Стоплевел от цены Аск
2. Необходимо добавлять и отнимать 1 пункт соответственно иначе опять возврат №130... Эта тема уже обсуждалась
Вобщем лучше подождать что напишут разработчики...
Все вышеизложенное обнаружил опытным путем поэтому могу ошибаться
Завтра с утра напишем детально. Сегодня тяжелый день был.
Ренат ждем с нетерпением!!!
Вот скрипт для проверки:
И его вывод на EURUSD M1:
В этом форуме уже несколько раз поднимался вопрос с формулировкой "почему выдается такая ошибка? у вас ошибка!? куда же ставить стопы?"
Не надо забывать, что попытка установки стопа вплотную к возможному уровню может произойти в момент прихода нового ценового тика на сервере. И это значит, что достаточно часто(именно часто!) сервер будет выдавать ответ ERR_INVALID_STOPS.
То, что сервер сообщает о минимальном отступе никак не означает, что клиенту достаточно написать NormalizeDouble(Bid-stoplevel*Point,digits). Конечные проверки всегда делаются на сервере и сервер вправе отказать, если у него есть новая цена, для которой уровень стопа слишком близко стоит.
Какие есть варианты выхода из ситуации:
1) Ставить стоп на 1 пипс дальше с надеждой, что установка пройдет. Это негарантированный способ, так как всегда есть вероятность, что цена дернется больше чем на 1 пипс, пока заявка идет от клиента до сервера
2) Пытаться поставить близко, проверять код возврата и тогда (обновив окружение) пытаться поставить стоп чуток дальше
3) Перестать пипсовать и ставить стопы нормально. Близкие стопы в 3 пипсах от рынка - это не трейдинг. Трейдер, торгующий на грани разрешенного, всегда будет рисковать, нарываясь на отказы сервера. И чем чаще он будет пытаться совершать торговые транзакции в желании еще чуть чуть пододвинуть уровень, тем большее проблем в исполнении он будет иметь.
В очередной раз я хочу абсолютно серьезно предупредить экспертописателей в том,
что работать надо разумно. Мы почти каждый день выслушиваем жалобы брокеров на совершенно безумное поведение некоторых трейдеров, вооруженных экспертами. И с каждым билдом сервера мы все больше ужесточаем требования к совершаемым торговым операциям и их частоте.
Бид=1.2700 Аск=1.2703 Спред = 3п и Стоплевел 5п
-----
Если мы хотим открыть Бай:
Кус открытия ордера = Аск = 1.2703
СЛ (наиболее приближённый) = Бид-СтопЛевел = 1.2700 - 0.0005 = 1.2695
ТП (наиболее приближённый) = Бид+СтопЛевел = 1.2700 + 0.0005 = 1.2705
Такой ордер не откроется потому что:
1. Сервер заругается на ТП... ТП ближе чем Стоплевел от цены Аск
2. Необходимо добавлять и отнимать 1 пункт соответственно иначе опять возврат №130... Эта тема уже обсуждалась
Вобщем лучше подождать что напишут разработчики...
Все вышеизложенное обнаружил опытным путем поэтому могу ошибаться
Не заругается. Я указал почему (т.е. просто в соответствии со здравым смыслом):
Все баи закрываются по Биду - хоть стопом, хоть профитом. Поэтому расчёт для них от Бида.
То же в примере Рената:
Аск = 1.2695, т.е. Бид = 1.2692
А дальше - расчёт от Бида:
ТП (наиболее приближённый) = Бид+СтопЛевел
СЛ = 1.2692 - 0.0003 = 1.2689
ТП = 1.2692 + 0.0003 = 1.2695
Я постарался раскрыть вопрос.
Но без предупреждений никак - лучше явно об этом написать, чем трейдеры на своем опыте и с потерями дойдут до более глубокого понимания исполнения торговых заявок.
Бид=1.2700 Аск=1.2703 Спред = 3п и Стоплевел 5п
-----
Если мы хотим открыть Бай:
Кус открытия ордера = Аск = 1.2703
СЛ (наиболее приближённый) = Бид-СтопЛевел = 1.2700 - 0.0005 = 1.2695
ТП (наиболее приближённый) = Бид+СтопЛевел = 1.2700 + 0.0005 = 1.2705
Такой ордер не откроется потому что:
1. Сервер заругается на ТП... ТП ближе чем Стоплевел от цены Аск
2. Необходимо добавлять и отнимать 1 пункт соответственно иначе опять возврат №130... Эта тема уже обсуждалась
Вобщем лучше подождать что напишут разработчики...
Все вышеизложенное обнаружил опытным путем поэтому могу ошибаться
Не заругается. Я указал почему (т.е. просто в соответствии со здравым смыслом):
Все баи закрываются по Биду - хоть стопом, хоть профитом. Поэтому расчёт для них от Бида.
То же в примере Рената:
Аск = 1.2695, т.е. Бид = 1.2692
А дальше - расчёт от Бида:
ТП (наиболее приближённый) = Бид+СтопЛевел
СЛ = 1.2692 - 0.0003 = 1.2689
ТП = 1.2692 + 0.0003 = 1.2695
Сейчас все перепроверю... Если ошибся - буду долго посыпать голову пеплом :))))
Пол года назад я написал 18 функций, контролирующих перемещение стопов, профитов и отл.ордеров в сопредельной зоне. Все они работают на основании изложенных правил. (18 = 6 типов ордеров х 3 характеристики - СЛ,ТП,ОП оп=OpenPrice)
Вы можете помотреть их здесь "MQL4: Графический эксперт AutoGraf"
Названия такие:
AG_Rev_SS_SL_scr.mq4 SS=SellStop, SL=StopLoss.
AG_Rev_BL_TP_scr.mq4 BL = BuyLimit, TP=TakeProfit
и т.д.
Вот скрипт для проверки:
И его вывод на EURUSD M1:
В этом форуме уже несколько раз поднимался вопрос с формулировкой "почему выдается такая ошибка? у вас ошибка!? куда же ставить стопы?"
Не надо забывать, что попытка установки стопа вплотную к возможному уровню может произойти в момент прихода нового ценового тика на сервере. И это значит, что достаточно часто(именно часто!) сервер будет выдавать ответ ERR_INVALID_STOPS.
То, что сервер сообщает о минимальном отступе никак не означает, что клиенту достаточно написать NormalizeDouble(Bid-stoplevel*Point,digits). Конечные проверки всегда делаются на сервере и сервер вправе отказать, если у него есть новая цена, для которой уровень стопа слишком близко стоит.
Какие есть варианты выхода из ситуации:
1) Ставить стоп на 1 пипс дальше с надеждой, что установка пройдет. Это негарантированный способ, так как всегда есть вероятность, что цена дернется больше чем на 1 пипс, пока заявка идет от клиента до сервера
2) Пытаться поставить близко, проверять код возврата и тогда (обновив окружение) пытаться поставить стоп чуток дальше
3) Перестать пипсовать и ставить стопы нормально. Близкие стопы в 3 пипсах от рынка - это не трейдинг. Трейдер, торгующий на грани разрешенного, всегда будет рисковать, нарываясь на отказы сервера. И чем чаще он будет пытаться совершать торговые транзакции в желании еще чуть чуть пододвинуть уровень, тем большее проблем в исполнении он будет иметь.
В очередной раз я хочу абсолютно серьезно предупредить экспертописателей в том,
что работать надо разумно. Мы почти каждый день выслушиваем жалобы брокеров на совершенно безумное поведение некоторых трейдеров, вооруженных экспертами. И с каждым билдом сервера мы все больше ужесточаем требования к совершаемым торговым операциям и их частоте.
Уважаемый Ренат! Ваш скрипт выдает ошибку при тестировании минимального отступа на демосервере Альпари
2006.07.17 14:25:15 zzz USDCHF,M15: loaded successfully
2006.07.17 14:25:15 zzz USDCHF,M15: Минимальный лот: 0.1 минимальный отступ: 5
2006.07.17 14:25:15 zzz USDCHF,M15: Шаг 1: ошибка invalid stops
Где ошибка в скрипте или в настройках сервера?