Возникла ошибка при компилировании советника МТ4? - страница 3

 
Sergei Vladimirov:
А чему у автора равна BarsMASaveSignal? )
BarsMASaveSignal задается в настройках, число любое, это величина свечей через которое будет открыта позиция.
 
Kirill Voytseshchuk:
BarsMASaveSignal задается в настройках, число любое, это величина свечей через которое будет открыта позиция.
Я поставил в код скомпилировалось но выдает предупреждение.
int i = 0;
Файлы:
 
Kirill Voytseshchuk:
BarsMASaveSignal задается в настройках, число любое, это величина свечей через которое будет открыта позиция.
Да это был риторический вопрос. 
 
Kirill Voytseshchuk:
Я поставил в код скомпилировалось но выдает предупреждение.

Да не так. Вам в начале ветки писали уже, как правильно:

 for(int i = bar+1; i <= BarsMASaveSignal+1; i++)

В обоих циклах.
 

поставьте в начале программы

#property strict

 тогда код будет выглядеть так

bool MASignal( int op, int bar )
{
    if( op == OP_BUY ) if( MAFast(bar) > MASlow(bar) )
    { 
       for( int i = bar+1 ; i <= BarsMASaveSignal+1 ; i++ )
         if( MAFast(i) <= MASlow(i) ) 
           return(true);
    }

    if( op == OP_SELL ) if( MAFast(bar) < MASlow(bar) )
    {
       for(int i = bar+1 ; i <= BarsMASaveSignal+1 ; i++ )
         if( MAFast(i) >= MASlow(i) ) 
           return(true);
    }
  
 return(false);

}
 
Alexander Bereznyak:

поставьте в начале программы

 тогда код будет выглядеть так

Спасибо, все получилось.
 

Kirill Voytseshchuk:

BarsMASaveSignal задается в настройках, число любое, это величина свечей через которое будет открыта позиция.

Не целесообразно применение  <= . Уж лучше увеличение на +2, вместо +1 и применение <, вместо <= в таком виде цикла.

Но лан, судя по всему, здесь некоторые "до последнего" будут стоять на своей "правоте" и что-то говорить мне просто не имеет смысла.

P./S.: И, если что, здесь я не отговаривала от применения #property strict, а просто самостоятельно признала ошибочность моего высказывания там же по этому поводу.

Причина обращения: