Советники: 5_8 MACross - страница 4

 
Shara1:

То есть мне нужно после вот этой строчки - int OnInit()

Вставить вот это - 

Получится вот так-

Спасибо.

Не совсем так. Вам нужно сравнить параметр "mafastperiod" и "maslowperiod".

 
Vladimir Karputov:

Не совсем так. Вам нужно сравнить параметр "mafastperiod" и "maslowperiod".

То есть мне нужно добавить всего одну строку? Вот так:

//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int OnInit()

  {

 if(Inpmaslowperiod >=Inpmafastperiod)

     {

 

OnInit() в котором не допускаются случаи, когда "быстрая" больше или равна "медленной":

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(mafastperiod>=maslowperiod)
     {
      Print("\"MA fast: averaging period\" can not be greater and equal to \"MA slow: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }
   SetMarginMode();
 
Vladimir Karputov:

OnInit() в котором не допускаются случаи, когда "быстрая" больше или равна "медленной":

Спасибо вроде бы все получилось, код скомпелировался.


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(mafastperiod>=maslowperiod)
     {
      Print("\"MA fast: averaging period\" can not be greater and equal to \"MA slow: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }
   SetMarginMode();
   SetMarginMode();

А вот эти две строчки одинаковые, так и должно быть? 

 
Shara1:

Спасибо вроде бы все получилось, код скомпелировался.


А вот эти две строчки одинаковые, так и должно быть?

Нет. Вы скопировали лишнее. Одну строку уберите.

 
Vladimir Karputov:

Нет. Вы скопировали лишнее. Одну строку уберите.

Спасибо большое. Так можно в любой советник с двумя мувами добавить ?

 
Shara1:

Спасибо большое. Так можно в любой советник с двумя мувами добавить ?

Да, главное правильно прописывать имена переменных.

 
Владимир тестер пишет ошибку. Посмотрите пожалуйста, в чем у меня ошибка.
Файлы:
20180221.log  11 kb
 
Shara1:
Владимир тестер пишет ошибку. Посмотрите пожалуйста, в чем у меня ошибка.

Всё нормально.

"incorrect input parameters" это как раз срабатывание кода

   if(mafastperiod>=maslowperiod)
     {
      Print("\"MA fast: averaging period\" can not be greater and equal to \"MA slow: averaging period\"");
      return(INIT_PARAMETERS_INCORRECT);
     }

 в процессе генетической оптимизации

 
Vladimir Karputov:

Всё нормально.

"incorrect input parameters" это как раз срабатывание кода

 в процессе генетической оптимизации

Спасибо, а в окошке оптимизация, некоторые строчки красные из за этого ?