[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 488

 

Je vais répéter la question, peut-être que personne ne l'a remarqué à cause des questions complémentaires.

J'ai décidé de comprendre le fonctionnement de l'indicateurATR et, en même temps, d'étudier son code. J'en ai compris l'essence, mais c'est écrit bizarrement.

Voici sa fonction dedémarrage:

int start()
  {
   int i,counted_bars=IndicatorCounted();
//----
   if(Bars<=AtrPeriod) return(0);
//---- initial zero
   if(counted_bars<1)
      for(i=1;i<=AtrPeriod;i++) AtrBuffer[Bars-i]=0.0;
//----
   i=Bars-counted_bars-1;
   while(i>=0)
     {
      double high=High[i];
      double low =Low[i];
      if(i==Bars-1) TempBuffer[i]=high-low;
      else
        {
         double prevclose=Close[i+1];
         TempBuffer[i]=MathMax(high,prevclose)-MathMin(low,prevclose);
        }
      i--;
     }
//----
   if(counted_bars>0) counted_bars--;
   int limit=Bars-counted_bars;
   for(i=0; i<limit; i++)
      AtrBuffer[i]=iMAOnArray(TempBuffer,Bars,AtrPeriod,0,MODE_SMA,i);
//----
   return(0);
  }
//+----------------

Voici le premier bloc avec une certaine confusion :

//---- initial zero
   if(counted_bars<1)
      for(i=1;i<=AtrPeriod;i++) AtrBuffer[Bars-i]=0.0;
//----

Quel est l'intérêt de faire quelque chose si la valeur counted_bars <1. A mon avis, cela signifie que l'indicateur n'a pas compté de barre et que je devrais juste quitter la fonction car il n'y a pas encore de valeur.... Quel est le piège ?

PourquoiAtrBuffer a l'index[Bars-i]? J'ai compris que l'idée est de mettre le tampon à 0.0 s'il n'y a pas de valeurs. Mais il s'avère que la valeur 0.0 n'est définie que pour les barres allant de(Bars) à(AtrPeriod), alors que deAtrPeriod à la0ème barre, rien n'est écrit dans le tampon. Pourquoi ?

Je ne comprends pas la logique de ce fragment de code

Dans le bloc suivant :

//----
   i=Bars-counted_bars-1;
   while(i>=0)
     {
      double high=High[i];
      double low =Low[i];
      if(i==Bars-1) TempBuffer[i]=high-low;
      else
        {
         double prevclose=Close[i+1];
         TempBuffer[i]=MathMax(high,prevclose)-MathMin(low,prevclose);
        }
      i--;
     }
//----

Dans la ligne :

if(i==Bars-1) TempBuffer[i]=high-low;

Condition sii==Bars-1. Il semble que la valeur de la1èrebarre depuis le début du graphique de gauche soit prise en compte...Mais c'est très loin, à quoi bon cette valeur ?

 
hoz:

Je vais répéter la question, peut-être que personne ne l'a remarqué à cause des questions complémentaires.

J'ai décidé de comprendre le fonctionnement de l'indicateurATR et, en même temps, d'étudier son code. J'en ai compris l'essence, mais c'est écrit bizarrement.

Voici sa fonction dedémarrage:

Voici le premier bloc avec une certaine confusion :

Quel est l'intérêt de faire quelque chose si la valeur counted_bars <1. A mon avis, cela signifie que l'indicateur n'a pas compté de barre et que je devrais juste quitter la fonction car il n'y a pas encore de valeurs.... Quel est le piège ?

PourquoiAtrBuffer a l'index[Bars-i]? J'ai compris que l'idée est de mettre le tampon à 0.0 s'il n'y a pas de valeurs. Mais il s'avère que la valeur 0.0 n'est définie que pour les barres allant de(Bars) à(AtrPeriod), alors que deAtrPeriod à la0ème barre, rien n'est écrit dans le tampon. Pourquoi ?

Je ne comprends pas la logique de ce fragment de code

Dans le bloc suivant :

Dans la ligne :

Condition sii==Bars-1. Il semble que la valeur de la1èrebarre depuis le début du graphique de gauche soit prise en compte...Mais c'est très loin, à quoi bon cette valeur ?


Les barres sont comptées de droite à gauche (de 0 à la dernière (Barres) moins 1). A chaque nouvelle barre (0), toutes les barres sont augmentées d'une unité correspondante, et la dernière (à gauche) n'est jamais spécifiée en termes numériques, et cette variable Bars, parce que personne ne sait quel historique vous avez, mais elle garantit le travail de l'indicateur sur tout l'historique, qu'il a. Entraînez votre logique, il n'y a aucun moyen de comprendre quoi que ce soit sans elle !
 
laveosa:
J'ai 1 pip-1 cent. Cela signifie-t-il que j'ai besoin de 20USD pour pouvoir supporter un stop à la baisse de 200 pips ?
Si un lot de 0,01 point = 1 cent, alors pour une position de 0,1 lot avec un stop loss de 200 pips = 20 USD.
 
borilunad:

Les barres sont comptées de droite à gauche (de 0 à la dernière (Barres) moins 1). A chaque nouvelle barre (0), toutes les barres sont augmentées d'une unité, et la dernière (gauche) n'est jamais spécifiée numériquement, et cette variable Bars, parce que personne ne sait quel historique vous avez, mais elle garantit le travail de l'indicateur sur tout l'historique, qu'il a. Entraînez votre logique, il n'y a aucun moyen de comprendre quoi que ce soit sans elle !

Je sais que les barres sont comptées de droite à gauche. S'il y a 5000 barres sur le graphique et que la période ATR = 14, alors[Bars-i] prendra la valeur de (5000 - 1) à (5000 - 14), c'est-à-dire de 4999 à 4986.

Ainsil'AtrBuffer sera avec l'index i égal à 4999 à 4986. Et où sont les autres barres de 0 à 4986?

 
hoz:

Je sais que les barres sont comptées de droite à gauche. S'il y a 5000 barres sur le graphique et que la période ATR = 14, alors[Bars-i] prendra la valeur de (5000 - 1) à (5000 - 14), c'est-à-dire de 4999 à 4986.

Ainsil'AtrBuffer sera avec l'index i égal à 4999 à 4986. Et où sont les autres barres de 0 à 4986?


Comment calculez-vous ? Si la période ATR = 14, alors la barre zéro donne la moyenne des 14 barres avant la barre zéro et ainsi de suite dans la profondeur de l'historique.

Le i passe en revue les 14 barres les plus récentes mais les premières en chiffres pour en faire la moyenne ou ce qu'il faut faire avec la formule. Compte également la valeur de la 4986ème mesure par les 14 mesures précédentes dans le temps, c'est-à-dire par celles qui se trouvent à gauche.

Étudiez l'opérateur for dans Doc et dans le tutoriel !

 
borilunad:


Comment calculez-vous ? Si la période ATR = 14, alors la barre zéro donne la valeur moyenne des 14 barres précédant la barre zéro et ainsi de suite dans la profondeur de l'historique.

i va sur le 14-barre dernière fois, mais sur le premier par le nombre pour faire la moyenne ou ce qu'il faut faire par la formule. Compte également la valeur de la 4986ème mesure par les 14 dernières mesures dans le temps, c'est-à-dire par celles qui se trouvent à gauche.

Étudiez l'opérateur for dans Doc et le tutoriel !

Ce n'était pas la question, ce que vous avez dit, je le comprends. C'était moi qui était surmené et stupide. Il y avait un problème dans le fait que le tamponAtrPeriod transmet le nombre de barres de l'historique... Et je l'ai regardé et je n'ai pas compris. Je suis comme ça quand je me surmène...
 
hoz:

Victor, vos hypothèses sont illogiques.

Si l'indicateur n'a pas traité une seule barre, cela signifie qu'il doit traiter toutes les barres et ne pas terminer le programme.

Et les valeurs des indicateurs sur l'historique sont nécessaires pour analyser l'historique :)

 
Estimés pros, est-ce qu'un écart de 4 pour un EA matricé lorsque l'on teste tous les ticks sur 5 minutes est toujours mauvais, ou est-ce plus ou moins ?
 
kakin:
Chers professionnels, le spread de 4 d'un EA dans un test 5 min tous ticks est-il toujours mauvais, ou est-il plus ou moins bon ?

Pas beaucoup d'informations, et les pros sont endormis :)
 
paladin80:
Si un 0,01 lot = 1 cent, alors pour une position de 0,1 lot avec un stop loss de 200 pips = 20 USD.
merci mon pote, c'est ce que je pensais...... merci :)
Raison: