Не работает проверка

 

В советнике есть функция TimeframeToInteger() которая получает ТФ и возвращет целое число, сделал так что бы проверить выше ли старший ТФ и для того чтобы отсечь нестандартные ТФ.

int TimeframeToInteger(ENUM_TIMEFRAMES timefame)
  {
   switch(timefame)
     {
      case PERIOD_M1:
        {
         return 1;
         break;
        }
      case PERIOD_M2:
        {
         return 0;
         break;
        }
      case PERIOD_M3:
        {
         return 0;
         break;
        }
      case PERIOD_M4:
        {
         return 0;
         break;
        }
      case PERIOD_M5:
        {
         return 5;
         break;
        }
      case PERIOD_M6:
        {
         return 0;
         break;
        }
      case PERIOD_M10:
        {
         return 0;
         break;
        }
      case PERIOD_M12:
        {
         return 0;
         break;
        }
      case PERIOD_M15:
        {
         return 9;
         break;
        }
      case PERIOD_M20:
        {
         return 0;
         break;
        }
      case PERIOD_M30:
        {
         return 11;
         break;
        }
      case PERIOD_H1:
        {
         return 12;
         break;
        }
      case PERIOD_H2:
        {
         return 0;
         break;
        }
      case PERIOD_H3:
        {
         return 0;
         break;
        }
      case PERIOD_H4:
        {
         return 15;
         break;
        }
      case PERIOD_H6:
        {
         return 0;
         break;
        }
      case PERIOD_H8:
        {
         return 0;
         break;
        }
      case PERIOD_H12:
        {
         return 0;
         break;
        }
      case PERIOD_D1:
        {
         return 19;
         break;
        }
      case PERIOD_W1:
        {
         return 20;
         break;
        }
      case PERIOD_MN1:
        {
         return 21;
         break;
        }
     }
   return -1;
  }

В функции OnInit() проверяю выше ли старший ТФ. Текущий ТФ Н1, Н4 ТФ выше - должно работать, но терминал выдает ошибку, хотя в тестере все работает. Раньше все работало, но после переделки советника перестало, хотя в эту часть я не лез. В чем может быть причина?



 
Example2:

В советнике есть функция TimeframeToInteger() которая получает ТФ и возвращет целое число, сделал так что бы проверить выше ли старший ТФ и для того чтобы отсечь нестандартные ТФ.

В функции OnInit() проверяю выше ли старший ТФ. Текущий ТФ Н1, Н4 ТФ выше - должно работать, но терминал выдает ошибку, хотя в тестере все работает. Раньше все работало, но после переделки советника перестало, хотя в эту часть я не лез. В чем может быть причина?



так правильно же всё

15 больше 12

PS/ вы или отрицание (!) недоставили в условии или больше/меньше перепутали
 
Maxim Kuznetsov #:

так правильно же всё

15 больше 12

PS/ вы или отрицание (!) недоставили в условии или больше/меньше перепутали

Точно, сам себя запутал  спасибо!