Засунул в скрипт
string Order_Kind="";
if (Open[2] < Open[1] && Close[2] < Close[1]) // если последние две свечи вверх
Order_Kind = "SELL"; // то продаем
if (Open[2] > Open[1] && Close[2] > Close[1]) // если последние две свечи вниз
Order_Kind = "BUY"; // то покупаем
Alert(Order_Kind); // Вывод в окно Алерт значения переменной
выдает и BUY и SELL в соответствующих ситуациях. Ищите ошибку ниже
Видел в CodeBase аналогичный советник по трем свечам.
Ошибся в сообщении, точка с запятой там есть. Исправил пост.
В советнике точка с запятой есть, но ордера на покупку не открываются
Все уже перепроверил много раз, правки небольшие внес, но пока результат не очень.
А что означает в MQL4 символ | ?
В моем коде стоит Alert() - полезная вещь. Следует поставить. Будет видно значение переменной... И вообще мой код компактнее и понятнее - а смысл тот же. Одиночный знак | вряд ли следует использовать. Значение то же, что в c++. Двойные - т.е. || и && Следует навести на них курсор и нажать F1. А сообщение от 17 марта можно удалить - потеряло смысл.
В моем коде стоит Alert() - полезная вещь. Следует поставить. Будет видно значение переменной... И вообще мой код компактнее и понятнее - а смысл тот же. Одиночный знак | вряд ли следует использовать. Значение то же, что в c++. Двойные - т.е. || и && Следует навести на них курсор и нажать F1. А сообщение от 17 марта можно удалить - потеряло смысл.
Много что потеряло смысл, но это не значит что все нужно удалять.
Логические цепочки теряются.
Здравствуйте всем.
Пытаюсь написать советник, но застрял на одном моменте. Есть во такой кусок кода:
...
Подскажите пожалуйста, в чем может быть проблема?
if (Open[2] < Open[2] && Close[1] < Close[1])
if (Open[2] < Open[2] && Close[1] < Close[1])
AlexeyVik:
А тебе не кажется что Open[2]
ВСЕГДА РАВНО Open[2] так-же как и Close[1] = Close[1]
Да не обратил внимания Выделил ошибку, а не исправил.
Надо так конечно.
if (Open[2] < Close [2] && Close[1] < Close [1])
Да не обратил вниманияВыделил ошибку, а не исправил.
Надо так конечно.
if (Open[2] < Close [2] && Close[1] <Close [1])
И даже так не надо.
Надо так как хочет тот кто спрашивает. А ему уже был дан исчерпывающий правильный ответ.
Засунул в скрипт
выдает и BUY и SELL в соответствующих ситуациях. Ищите ошибку ниже
Видел в CodeBase аналогичный советник по трем свечам.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пытаюсь написать советник, но застрял на одном моменте. Есть во такой кусок кода:
В таком виде советник отлично открывает ордера на продажу. (при Order_Kind = "SELL"). Но, при этом, на покупку не открывает ни одного, хотя условия для покупки были и неоднократно.
Если временно убрать блок для SELL, то есть привести к такому виду:
То советник не откроет вообще ни одного ордера за все время теста.
Если в коде оставить только это:
То оредра на покупку начинают открываться.
С ордерами на продажу проблем нет, все работает как и задумывалось.
Подскажите пожалуйста, в чем может быть проблема?