Свечи в МТ4 перечисляются в обратном порядке - текущая 0, предыдущая 1 и т.д. Так как значения текущей свечи неопределённые пока она не закрылась, надо начинать смотреть с предыдущей.
Код примерно такой:
if(High[2]>High[1] && Low[2]>Low[1] && Open[2]>Open[1] && Close[2]<Close[1] && (High[2]-Low[2]>High[1]-Low[1])) Alert("Свеча 2 больше свечи 1");
Свеча 1 не "больше" свечи 2, все её значения больше аналогичных у свечи 2, а так она только выше.
Код примерно такой:
Исправил, см. выше. N используется в цикле и естественно переменную надо сначала инициализировать, это само собой разумеется и должно быть уже на уровне подсознательного.
Спасибо большое, но тут маленький нюанс) переменные я назвал (int A = 1; и int B = 2;) но эта функция не работает, попробую предположить, что эти переменные не обозначены как "свечи".
Как этот нюанс исправить.)
Спасибо большое, но тут маленький нюанс) переменные я назвал (int A = 1; и int B = 2;) но эта функция не работает, попробую предположить, что эти переменные не обозначены как "свечи".
Как этот нюанс исправить.)
Так подставьте свои А и В вместо 1 и 2, и будут они сидеть на свече, только каждая на своей, комфортно! Только зачем это?
Поставил, сразу как только написал переменные, но не стабильно определяет высоту свечи!
Свечи в МТ4 перечисляются в обратном порядке - текущая 0, предыдущая 1 и т.д. Так как значения текущей свечи неопределённые пока она не закрылась, надо начинать смотреть с предыдущей.
Код примерно такой:
Ещё лучше будет если Вы расшифруете этот код, обучаюсь 3-ий день языку MQL4 пока всё это сложно понять.
if(High[2]>High[1] && Low[2]>Low[1] && Open[2]>Open[1] && Close[2]<Close[1] && (High[2]-Low[2]>High[1]-Low[1]))
Ещё лучше будет если Вы расшифруете этот код, обучаюсь 3-ий день языку MQL4 пока всё это сложно понять.
if(High[2]>High[1] && Low[2]>Low[1] && Open[2]>Open[1] && Close[2]<Close[1] && (High[2]-Low[2]>High[1]-Low[1]))
Всё просто: сравниваются все значения предыдущей (1) и пред-предыдущей (2) свеч, а также их высота (High[2]-Low[2]>High[1]-Low[1]). Если у свечи (2) все значения больше чем у свечи (1) то выполняется действие дальше по коду (в данном случае алерт), если нет - действие игнорируем и выполняем код расположенный ниже.
на картинке нумерация свечей для наглядности. №0 - самая свежая.
Всё просто: сравниваются все значения предыдущей (1) и пред-предыдущей (2) свеч, а также их высота (High[2]-Low[2]>High[1]-Low[1]). Если у свечи (2) все значения больше чем у свечи (1) то выполняется действие дальше по коду (в данном случае алерт), если нет - действие игнорируем и выполняем код расположенный ниже.
на картинке нумерация свечей для наглядности. №0 - самая свежая.
Я поставил значение 0 для последней свечи и 1 для предыдущей, естественно занёс это в переменные, всё в коде подправил и вот как он считает (не определённо) - получается если свеча 1 выше свечи 0, то выдаёт сообщение (1>0), и если свеча 0 ещё ниже опустится, то выдаёт что показано на скрине почему он путается?. Я так думаю он сравнивает высоту именно 2 свечей, а это совсем не то что нужно. Надо чтобы 2 свечи сравнивались по месту нахождения на графике.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как сравнить высоту свечей на графике (предыдущую с последней)?
Буду очень благодарен за помощь!