Нужен момент пересечения

 

Здравствуйте!

Мне нужен импульс пересечения RSI определённой величины, допустим 70.

Обычное условие iRSI(трям-трям-трям)>70  мне не подходит, т.к. на последующих барах, если RSI выше это значения, "звон" продолжается.

А мне нужен именно момент пересечения и чтобы дальше тишина.

Конструкция вроде

if(iRSI(NULL,0,14,PRICE_CLOSE,0)>70 && iRSI(NULL,0,14,PRICE_CLOSE,1)<70) Comment("1!!!!!!!!!!!");

  else Comment("0...");

почему-то не работает.

Что я делаю не так? Подскажите, пожалуйста! 

Приложил стандартный советник -- там в самом конце эта вставка.

Советник гоняю в тесте -- сморю не отрываясь на коммент -- так вот, RSI перепрыгивает уровень 70 многократно, а на экране постоянно светится ноль... :(

Помогите, пожалуйста. 

Файлы:
 
Megagrider:

Здравствуйте!

Мне нужен импульс пересечения RSI определённой величины, допустим 70.

Обычное условие iRSI(трям-трям-трям)>70  мне не подходит, т.к. на последующих барах, если RSI выше это значения, "звон" продолжается.

А мне нужен именно момент пересечения и чтобы дальше тишина.


Просто нужно два условия. Одно "взводит курок", а другое "стреляет". Напимер 70 прошло - звук и отключение условия, а ниже 60 снова активация.
 

https://www.mql5.com/ru/charts/2625087/eurusd-h1-metaquotes-software-corp

if(iRSI(NULL,0,14,PRICE_CLOSE,0)>70 && iRSI(NULL,0,14,PRICE_CLOSE,1)<=70) Comment("1!!!!!!!!!!!");
 

:-/

Всё равно через пень-колоду работает, часть сигналов пропускает.

В чём может быть дело -- ума не приложу. 

 
Megagrider:

:-/

Всё равно через пень-колоду работает, часть сигналов пропускает.

В чём может быть дело -- ума не приложу. 

Тестируете потиково или побарно? Побарно может пропустить
 

Побарно, конечно.

Мне для Fuzzy logic нужен импульс, от "звона" у него башка сворачивается.

Да, но ведь побарно он (индикатор) рисует! 

 

А почему может пропустить?

И что мне делать? 

 
Megagrider:

А почему может пропустить?

И что мне делать? 

По
PRICE_CLOSE
нельзя. Пока бар не закрылся CLOSE неизвестен. Надо по OPEN делать.
 

Мне надо по Close.

Нашёл выход -- сменил индикатор. :)

Всем огромное спасибо за участие. 

 

Хм, последняя попытка

bool Ready = false;

if (RSI < 70) Ready = true; 

if (Ready && RSI > 70) {Ready = false; Comment("1!!!!!!!!!!!");} 

 
paukas:
По
нельзя. Пока бар не закрылся CLOSE неизвестен. Надо по OPEN делать.
Megagrider:

А почему может пропустить?

И что мне делать? 

Правильно Вам подсказали, что по закрытию бара, но не нулевого, а 1-го! И как раз на открытии нулевого бара и откроетесь!