Элеменентарно! :)

 
Здравствуйте. Хочу задать следующее условие: "если хай первого бара ниже хая второго с погрешностью в -10 пунктов(то есть хай второго бара максимум больше хая первого максимум на 10 пунктов).

Вот код:

if ((iHigh(Symb,tmf,1)<=iHigh(Symb,tmf,2)+10*Point)
{
Alert();
}


Symb-символ, tmf-таймфрейм.
Проблема в том, что алерт очень часто срабатывает там, где не надо. Где ошибка?

 
А где он должен срабатывать? Если этот код будет в обработчике "OnTick()", то он будет непрерывно гнать алерты по каждому тику, если два указанных бара соответствуют условию. 
 
ouch:
А где он должен срабатывать? Если этот код будет в обработчике "OnTick()", то он будет непрерывно гнать алерты по каждому тику, если два указанных бара соответствуют условию. 
Он как раз расположен в функции OnTick()... Но я не имею ввиду срабатывание алерта на каждом тике после нужного бара-с этим проблем нет :) Проблема в том, что алерт срабатывает на НЕНУЖНЫХ барах, барах, которые не попадают под условие(во всяком случае то, которое я хотел заложить в этот код). Я заметил, что алерт срабатывает по принципу: "если хай первого ниже хая второго". То есть, не учитывается разница в 10 пунктов.
 
-10*Point
?
 
Всем спасибо! Вопрос решен! :)
Причина обращения: