Question sur l'indicateur - page 5

 
Oh une dernière question

Est-il plus typique de compter en avant ou en arrière lors de la construction d'indicateurs qui peuvent être utilisés dans les EA ?

Est-ce que l'un crée plus de problèmes que l'autre ou est-ce juste une question de préférence et de conception ?

Veuillez me conseiller

Merci

 
De temps en temps, jetez un coup d'œil à cet article : https://www.mql5.com/en/articles/1456. Il peut être un peu intimidant, mais persévérez, petit à petit, et une fois que vous l'aurez compris, vous aurez appris à connaître les indicateurs, les EA et leurs différences.
 
Agent86:
Oh, une dernière question

Est-il plus typique de compter en avant ou en arrière lors de la construction d'indicateurs qui peuvent être utilisés dans les EA ?

Est-ce que l'un crée plus de problèmes que l'autre ou est-ce juste une question de préférence et de conception ?

Typiquement, beaucoup d'Indicateurs que j'ai vu comptent vers le haut i++, à mon humble avis c'est faux ... un graphique se construit de gauche à droite, les anciennes bougies sont à gauche, les nouvelles à droite. Lorsqu'un indicateur traite les anciennes barres d'un graphique (pour pouvoir ensuite commencer à traiter la ou les barres les plus récentes), ne devrait-il pas le faire d'une manière représentative de la façon dont il fonctionnera sur des données réelles ?

Lesindicateurs techniques ne sont pas mon truc, j'ai dû me familiariser avec eux par nécessité, mais mon expérience avec eux est faible, je serais également heureux d'avoir d'autres réponses de personnes plus expérimentées.

 

En général, en ce qui me concerne, lors d'une négociation réelle, les séries entières de barres de prix très éloignées dans le passé ne sont pas pertinentes. Seuls peut-être les quelques prix récents, dans un cadre donné.

À cet égard, je préfère "transférer" la logique de l'indicateur, si elle est suffisamment bonne, vers une fonction ou une librairie que l'EA peut utiliser directement, au lieu d'appeler iCustom et de lire les tampons, etc. Cela peut poser des problèmes, ne l'oubliez pas.

Donc, pour moi, un bon indicateur est celui qui est capable de me permettre de faire exactement cela.

 
Je pense que je vais expérimenter avec chacun d'entre eux, mais il me semble que je préférerais incrémenter à partir de 0, mais comment les indicateurs standards s'incrémentent-ils ?

Si je voulais utiliser les iFractals pour quelque chose d'utile dans un EA, il semble que le signal se produise naturellement ; et si je voulais me référer dans le temps à une iFractal précédente, alors je ferais i++ le décalage vers une iFractal précédente.

Mais quand je vois les EA des autres et que des indicateurs apparaissent sur les graphiques. Est-ce qu'ils utilisent des indicateurs iCustom et des indicateurs qu'ils ont ajoutés ou est-ce que cela est typiquement mis dans l'EA lui-même et quand vous ouvrez l'EA est-ce que cela se produit automatiquement ?

J'essaie de faire le tri

 
RaptorUK:
De temps en temps, jetez un coup d'œil à cet article : https://www.mql5.com/en/articles/1456. Il peut être un peu intimidant, mais persévérez, petit à petit, une fois que vous l'aurez compris, vous aurez appris à connaître les indicateurs, les EA et leurs différences.
Je le ferai, merci.

Je ne veux pas vraiment continuer à me battre mais je préférerais apprendre tout ce qu'il y a à savoir sur MQL4 afin de pouvoir coder mes propres idées et aussi contribuer un peu à la base de code.

Je vais continuer à lire, merci encore
 
Bonjour

Quelqu'un peut-il confirmer si je considère ce code correctement ?

Est-ce que mon instruction print fait référence à l'iFractal précédent ?

//maybe something like this to count back to the previous iFractal for reference
//needs work     
    for(i=0; val1==val3; i++)
      {
      val1=iFractals(NULL, 0, MODE_UPPER,i);
      val3=iFractals(NULL, 0, MODE_UPPER,0);
      if (val1 > 0)
         {
         Print (val1, " = val1");
         }
        }
C'est tout ce à quoi j'ai pu penser avec mes connaissances limitées jusqu'à présent.

De toute façon, y a-t-il quelque chose de mal avec cette méthode pour revenir à l'iFractal précédente si c'est bien ce que j'ai créé ici.

Cela semble correct en théorie d'après ce que je peux dire ?

Veuillez me conseiller

Merci

 

Lorsque vous obtenez un iFractal, la valeur est > 0, oui ?

Donc, par exemple, si vous voulez savoir où se trouvaient les derniers iFractals UPPER et LOWER, faites quelque chose comme ceci . . .

val1 = 0; val2 = 0; i = 0;

while( val1==0 && val2==0)
   {
   if (iFractals(NULL, 0, MODE_UPPER,i) > 0 && val1==0) val1 = i;
   if (iFractals(NULL, 0, MODE_LOWER,i) > 0 && val2==0) val2 = i;
   i++;
   }
Print("Last UPPER Fractal at ", val1, " Last LOWER Fractal at ", val2);
 
for(i=0; val1==val3; i++) <--- val1==val3??? This is indeed, "tricky"
       {
      val1=iFractals(NULL, 0, MODE_UPPER,i);
      val3=iFractals(NULL, 0, MODE_UPPER,0);
      if (val1 > 0)
         {
         Print (val1, " = val1");
         }
        }

Honnêtement, c'est la première fois que je vois ça, pour la condition de fin de boucle. C'est une question délicate...

 

Ça m'a l'air cool... Tout ce que vous avez à faire est de le tester dans le back-tester. Voici comment je le ferais.

void start(){
   double val1=0,val3=0;
   for(int i=0; i<=3; i++){
      val1=iFractals(NULL, 0, MODE_UPPER,i);
      val3=iFractals(NULL, 0, MODE_UPPER,0);
      if(val1>val3){
        Print("Value_1="+val1+" TimeOf_Fractal="+TimeToStr(TimeCurrent()));
        break;
      }
   }
}

Je ne me souviens pas comment les fractales sont formées. Je crois que c'est formé sur la troisième barre. Et elle prend en compte les deux barres qui la précèdent et la suivent.

Enregistrez le code ci-dessus comme un EA et exécutez un court back-test. Vous pouvez attacher l'indicateur augraphique de back-test pour confirmer.

Voici ce que j'ai obtenu :

2011.10.06 06:38:49     2011.01.02 23:00  De_Bugger EURUSD,M1: Value_1=1.33710000 TimeOf_Fractal=2011.01.02 23:00