Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Задействуй с пользой свободные компьютеры. Подключись к MQL5 Cloud Network!
Mihail Marchukajtes
3338
Mihail Marchukajtes 2013.08.28 08:50  
Вообщем выход такой. В коменте советника вывел время за последние 30 баров. Ну и соотвественно подставляю это чило при оптимизации советника. Так работает. Всем добра, бобра и успехов!!!!
Виктор
Модератор
6560
Виктор 2013.08.28 17:41  
nikelodeon:
Вообщем выход такой. В коменте советника вывел время за последние 30 баров. Ну и соотвественно подставляю это чило при оптимизации советника. Так работает. Всем добра, бобра и успехов!!!!
Вдогонку.
Если есть два параметра, один из которых всегда должен быть больше другого, то чтобы не перебирать неприемлемых вариантов и не ставить дополнительных проверок можно сделать так:

extern int FastPeriod  = 12;       //оптимизируется
extern int DeltaPeriod = 14;       //оптимизируется
int SlowPeriod;                    //не оптимизируется
.....................
SlowPeriod=FastPeriod+DeltaPeriod; //всегда выполняется заданное соотношение между параметрами
Mihail Marchukajtes
3338
Mihail Marchukajtes 2013.08.29 00:30  
Ну и в чём прикол??? Если чесно не до понял...... Каким образом при оптимизации первый период всегда будет меньше второго???
Artyom Trishkin
Модератор
71454
Artyom Trishkin 2013.08.29 00:44  
nikelodeon:
Ну и в чём прикол??? Если чесно не до понял...... Каким образом при оптимизации первый период всегда будет меньше второго???

На пальцах:

Первый оптимизируемый параметр индикатора (FastPeriod), который всегда должен быть меньше второго оптимизируемого параметра индикатора, равен FastPeriod

Второй оптимизируемый параметр индикатора (SlowPeriod), который всегда должен быть больше первого оптимизируемого параметра индикатора, равен FastPeriod+DeltaPeriod

В данном случае - DeltaPeriod - величина, на которую второй параметр будет больше первого параметра

Mihail Marchukajtes
3338
Mihail Marchukajtes 2013.08.29 01:03  
ААА ну понятно теперь!!!!
Mihail Marchukajtes
3338
Mihail Marchukajtes 2013.09.06 06:24  

Поднимаю тему !!! Вернее вопрос наверное от нуба... Потому как решил использовать процедуры. Я всегда сними плохо дружил, НО чюствую не понимаю совсем маленький момент. Может ктонить объяснить. Как вызывать процедуру????

 void SignalBuy (){
 bool QSignalUP=false;
       for (set=1; set<=20; set++){
            for (up1=1; up1<=20; up1++){
               up=set+up1;
               if (iCustom(NULL, 0, "Индикатор Власти",set,up,12,6,1)!=0) {
                     QSignalUP=true;
                     return(QSignalUP);
                     break; 
               }       
            }
      }
   }

Смысл в следующем. Мне нужно написать функцию, которая будет возвращать либо истина либо лож. Не могу понять как вызвать функцию без передачи параметров. Просто чтоб она прокрутилась и вернула 0 ил 1.....

Вызываю вот так, выдаёт ошибку.

   SignalUPE=SignalBuy();
Выдаёт ошибку функция возвращает нулевой результат......
Mikhail Kozhemyako
1207
Mikhail Kozhemyako 2013.09.06 06:39  
nikelodeon:

Поднимаю тему !!! Вернее вопрос наверное от нуба... Потому как решил использовать процедуры. Я всегда сними плохо дружил, НО чюствую не понимаю совсем маленький момент. Может ктонить объяснить. Как вызывать процедуру????

Смысл в следующем. Мне нужно написать функцию, которая будет возвращать либо истина либо лож. Не могу понять как вызвать функцию без передачи параметров. Просто чтоб она прокрутилась и вернула 0 ил 1.....

Вызываю вот так, выдаёт ошибку.

Выдаёт ошибку функция возвращает нулевой результат......


int start() {
// .............
 bool SignalUPE=SignalBuy();
//........... 
 return(0); 
 }
bool SignalBuy (){
       for (int set=1; set<=20; set++){
            for (int up1=1; up1<=20; up1++){
               int up=set+up1;
               if (iCustom(NULL, 0, "Индикатор Власти",set,up,12,6,1)!=0) return(true);
            }
      }
    return(false);
   }
Mihail Marchukajtes
3338
Mihail Marchukajtes 2013.09.06 07:26  
Спасибо!!!!!
/ /123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий