Дублирующие торговые сигналы

 

Написал себе простого советника.

Подскажите, как запретить ему, дублировать торговый сигнал. Точнее сказать подавать его один раз.

Конструкция типа:

    if (NM>NM2) 
      if( NM2 > NM#)
       if (Fact_Up == true)
     {
      Fact_Up = false;               
      Fact_Dn = true;                
      Alert(" Покупаем! "); 

Хорошо работает если не вставлена в функцию... А когда вставляю в функцию... возвращается первое значение и все равно, советник подает один и тот же сигнал...

Собственно есть функция возвращающая торговый сигнал в виде значения: открываем вверх или вниз и закрываем вверх или вниз. Четыре разных значения.
Надо что бы если открылась позиции наверх, то советник ожидал бы только сигнал по закрытию игнорируя все остальное.

И.Т.Д.

Подскажите, как это сделать?

 
сбрасывать значения после выполнения, как один из способов.
 
а вообще нужно конечно полный код выкладывать...
Причина обращения: