Consulente multivaluta basato su indicatori cluster - pagina 4

 

Mi interessa di più un'altra domanda. Questa è la funzione dell'indicatore.

//+------------------------------------------------------------------+
//|  Subroutine                                                      |
//+------------------------------------------------------------------+
double ma(string sym, int per, int Mode, int Price, int i)
  {
   double res = 0;
   int k = 1;
   int ma_shift = 0;
   int tf = 0;
   switch(Period())
     {
       case 1:     res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 5;  // k=6;
       case 5:     res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 3;  // k=9;
       case 15:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 2;  // k=11;
       case 30:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 2;  // k=13;
       case 60:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 4;  //k=17;
       case 240:   res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 6;  //k=23;
       case 1440:  res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 4;  //k=27;
       case 10080: res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k += 4;  //k=31;
       case 43200: res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
     }
   return( res);
  }  
//+------------------------------------------------------------------+

Sembra che il cartello sia stato confuso. Avrebbe dovuto essere moltiplicato.

//+------------------------------------------------------------------+
//|  Subroutine                                                      |
//+------------------------------------------------------------------+
double ma(string sym, int per, int Mode, int Price, int i)
  {
   double res = 0;
   int k = 1;
   int ma_shift = 0;
   int tf = 0;
   switch(Period())
     {
       case 1:     res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 5;  // k=5;
       case 5:     res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 3;  // k=15;
       case 15:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 2;  // k=30;
       case 30:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 2;  // k=60;
       case 60:    res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 4;  // k=240;
       case 240:   res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 6;  // k=1440;
       case 1440:  res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 4;  // k=5760;
       case 10080: res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
                   k *= 4;  // k=23040
       case 43200: res += iMA( sym, tf, per* k, ma_shift, Mode, Price, i);
     }
   return( res);
  }  
//+------------------------------------------------------------------+

E negli ultimi due calcoli è stato fatto un errore.

Perché?

 
Vinin >>:

Меня вот больше другой вопрос интересует. Вот эта функция в индикаторе.

Похоже что знак перепутан был. Умножение должно было быть

Да и то в последних двух расчетах ошибка сделана.

Почему?

Questa domanda dovrebbe piuttosto essere rivolta a Semen Semenych, l'autore degli indicatori, ma non è stato sentito o visto per molto tempo. Per quanto ho capito, gli indicatori sono calcolati in base all'idea che la somma delle linee di tutte le valute al momento è uguale a 0. Forse da queste considerazioni c'è l'addizione, non la moltiplicazione.

Anche se visivamente la differenza è evidente


 

Colleghi, mi scuso per essere fuori tema ....


solo per chiarire:

ci sono tecniche per testare gli EA multivaluta?


Grazie.

 
Morzh09 писал(а) >>

Colleghi, mi scuso per essere fuori tema ....

solo per chiarire:

ci sono tecniche per testare gli EA multivaluta?

Grazie.

Quando si testa in MT4 ci sono una serie di problemi. Il principale non è proprio corretto lavorare con la memoria. In generale, non è sufficiente. La soluzione più ragionevole è importare le quotazioni (sincronizzate) in un Expert Advisor e fare tutto lì. Compreso il calcolo degli indicatori.

 
Vinin >>:

При тестирования в МТ4 существует ряд проблем. Основная - не совсем корректная работа с памятью. В общем не хватает. Самое разумное - импортировать котирвки (синхронизированные) в программу анализа и делать все там уже. Включая и расчет индикаторов.

Quali analizzatori software potete consigliare?

 
evbut писал(а) >>

Quali analizzatori software potete consigliare?

Di solito ognuno usa quello che conosce meglio.

 
Vinin >>:

Меня вот больше другой вопрос интересует. Вот эта функция в индикаторе.

Похоже что знак перепутан был. Умножение должно было быть

Да и то в последних двух расчетах ошибка сделана.

Почему?

Potresti modificare l'indicatore come scritto qui, cioè aggiungere la tempistica e il controllo del caricamento della storia?

 
evbut писал(а) >>

Potresti modificare l'indicatore come scritto qui, cioè aggiungere la tempistica e il controllo del caricamento della storia?

Posso certamente, o meglio fare il mio analogo. Non si dovrebbe aggiustare l'indicatore di qualcun altro. Dobbiamo lasciarlo nella versione del suo autore.

 
Vinin >>:

Меня вот больше другой вопрос интересует. Вот эта функция в индикаторе.

Похоже что знак перепутан был. Умножение должно было быть

Да и то в последних двух расчетах ошибка сделана.

Почему?

Sì, sembra un errore. E i giorni devono essere moltiplicati per 5 per ottenere una settimana.

D'altra parte, la versione dell'autore "disegna più bello", meno denti. Semenych sarebbe venuto qui.


USDJPY


 
BLACK_BOX >>:

Семеныча бы сюда.


dove trovarlo :)


Ci sarà qualcuno disposto a implementare TC nel codice?

Motivazione: