Неверно написана инструкция SetOrder
Выставляется отложенный ордер BUYSTOP по цене хая 2 периода назад, причем это должен быть локальный экстремум, судя по выставленному условию. Соответственно текущая цена должна быть явно ниже этой переменной - fup.
В то же время t/p и s/l ты рассчитываешь от текущей цены, поэтому возможны случаи отклонения данного ордера брокером.
Если я правильно понимаю логику, надо заменить
bid-stoploss*Point на fup-stoploss*Point
ask+TakeProfit*Point на fup+TakeProfit*Point
Да, еще. Не забывай в эксперте управлять отложенными ордерами - удалять ненужные. Иначе можно залететь с открытием ордеров на весь депозит.
Выставляется отложенный ордер BUYSTOP по цене хая 2 периода назад, причем это должен быть локальный экстремум, судя по выставленному условию. Соответственно текущая цена должна быть явно ниже этой переменной - fup.
В то же время t/p и s/l ты рассчитываешь от текущей цены, поэтому возможны случаи отклонения данного ордера брокером.
Если я правильно понимаю логику, надо заменить
bid-stoploss*Point на fup-stoploss*Point
ask+TakeProfit*Point на fup+TakeProfit*Point
Да, еще. Не забывай в эксперте управлять отложенными ордерами - удалять ненужные. Иначе можно залететь с открытием ордеров на весь депозит.
и еще...
Почему
var: fup(0);
а не
define: fup(0);
?
Почему
var: fup(0);
а не
define: fup(0);
?
Спасибо
огромное спасибо за ответ
огромное спасибо за ответ
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
добрый день у меня такой вопрос...вот есть такой алгаритм/*[[
Name := fractal trade
Author := Copyright © 2003, Company
Link := http://www.company.com/
Lots := 1.00
Stop Loss := 30
Take Profit := 50
Trailing Stop := 0
]]*/
var: fup(0);
If TotalTrades=1 then exit;
If FreeMargin<1000 then Exit;
fup=h[2];
if fup>h[1] and fup>h[0] and fup>h[3] and fup>h[4] then
SetOrder(OP_BUYSTOP,Lots,fup,0,bid-stoploss*Point,ask+TakeProfit*Point,RED);
простой.....но почему-то откриии позии.....стоп лосс и тейк профит выставляется не на 50 и 30 пунктов соответсвенно а по другому.....
почему так и как это добиться что бы стоп и профит ставился так как егог выставляешь...
спасибо