Conseiller multi-devises basé sur des indicateurs en grappes - page 4

 

Je suis plus intéressé par une autre question. C'est la fonction de l'indicateur.

//+------------------------------------------------------------------+
//|  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);
  }  
//+------------------------------------------------------------------+

On dirait que le signe a été mélangé. Il aurait dû être multiplié.

//+------------------------------------------------------------------+
//|  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);
  }  
//+------------------------------------------------------------------+

Et dans les deux derniers calculs, une erreur a été commise.

Pourquoi ?

 
Vinin >>:

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

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

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

Почему?

Cette question devrait plutôt être adressée à Semen Semenych, l'auteur des indicateurs, mais il n'a pas été entendu ou vu depuis longtemps. D'après ce que je comprends, les indicateurs sont calculés sur la base de l'idée que la somme des lignes de toutes les devises en ce moment est égale à 0. Peut-être qu'à partir de ces considérations, il y a addition, et non multiplication.

Bien que visuellement la différence soit évidente


 

Chers collègues, je m'excuse d'être hors sujet .....


juste pour clarifier :

Existe-t-il des techniques pour tester les EA multi-devises?


Merci.

 
Morzh09 писал(а) >>

Chers collègues, je m'excuse d'être hors sujet .....

juste pour clarifier :

Existe-t-il des techniques pour tester les EA multi-devises ?

Merci.

Lors des tests dans MT4, un certain nombre de problèmes se posent. La principale est de ne pas travailler correctement avec la mémoire. En général, ce n'est pas suffisant. La solution la plus raisonnable est d'importer les cotations (synchronisées) dans un conseiller expert et de tout faire à partir de là. Y compris le calcul des indicateurs.

 
Vinin >>:

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

Quels logiciels d'analyse pouvez-vous recommander ?

 
evbut писал(а) >>

Quels logiciels d'analyse pouvez-vous recommander ?

En général, chacun utilise ce qu'il connaît le mieux.

 
Vinin >>:

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

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

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

Почему?

Pourriez-vous modifier l'indicateur tel qu'il est écrit ici, c'est-à-dire ajouter un contrôle du timing et du chargement de l'historique ?

 
evbut писал(а) >>

Pourriez-vous modifier l'indicateur tel qu'il est écrit ici, c'est-à-dire ajouter un contrôle du timing et du chargement de l'historique ?

Je peux certainement, ou plutôt faire mon propre analogue. Tu ne devrais pas réparer l'indicateur de quelqu'un d'autre. Ce devrait être la version de l'auteur.

 
Vinin >>:

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

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

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

Почему?

Oui, ça ressemble à une erreur. Et les jours doivent être multipliés par 5 pour obtenir une semaine.

En revanche, la version de l'auteur "dessine plus joli", moins de dents. Semenych viendrait ici.


USDJPY


 
BLACK_BOX >>:

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


où le trouver :)


Y aura-t-il quelqu'un pour implémenter le CT dans le code ?