Auto-Forex

Auto-Forex

Le Forex Auto - Indicateurs et Experts Advisor sur Metatrader
 
Nous sommes le Mer 8 Fév 2012 19:03

Heures au format UTC




Poster un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
 Sujet du message: Pb EA boucle for
MessagePosté: Mer 5 Mai 2010 13:17 
Hors ligne
Touriste

Inscription: Mer 5 Mai 2010 13:14
Messages: 2
Bonjour,

Je suis en train de créer mon EA et j'ai quelque soucis avec l'execution de celui ci.

Je stock dans un tableau à 2 dimensions les x dernières valeurs d'un indicateur. Ainsi je peux en parcourant le tableau identifier un changement de tendance et vérifier que celle-ci est confirmé.

Mon problème est que lorsque je l'execute en back test ou en démo, les "Print" (exemple de résultat ci-dessous") sont parfois incohérent. Comme si l'execution de ma boucle "for" était interrompu puis reprise un peu n'importe quand. Pendant un temps tout est correct puis tout devient incohérent je ne sais pas pourquoi.

Merci pour votre aide.

Code:
double stTampon[19][2];
int NbEntree = 20;
double tendance = 0;
bool tendanceChange = false;
double superTrend = 0;
int cptTemps = 0;

...
int init()
{
int countElement = ArrayResize(stTampon, NbEntree );
   if (countElement < 0)
      Print("Erreur redimensionnement");
   Print("init");
   return(0);
}

int start()
{
tendance = 0;

//indicateur programme
   superTrend = iCustom(Symbol(),0,"SuperTrend",NbDePeriodes,Multiplier,0,0);
   if (superTrend > 10000)
   {
      superTrend = iCustom(Symbol(),0,"SuperTrend",NbDePeriodes,Multiplier,1,0);
      tendance = 0; //"tendance descendante";
   }
   else
   {
      superTrend = iCustom(Symbol(),0,"SuperTrend",NbDePeriodes,Multiplier,0,0);
      tendance = 1; //"tendance montante";
   }

   Print("Couleur tendance : " + tendance);
   
//initialisation du tableau avec les valeurs de l'indicateur
   if (cptTemps < NbEntree)
   {
      stTampon[cptTemps][0] = superTrend;
      stTampon[cptTemps][1] = tendance;
      cptTemps++;
   }
   
//on décale les valeurs du tableau et
//on met la dernière valeur de l'indicateur dans la dernière entré du tableau
   if (cptTemps == NbEntree)
   {
      for(int cpt=0; cpt<NbEntree; cpt++)
      {
         if (cpt<NbEntree- 1)
         {
            stTampon[cpt][0] = stTampon[cpt+1][0];
            stTampon[cpt][1] = stTampon[cpt+1][1];
            Print("stTampon " + cpt + " : " + stTampon[cpt][0] + " stTampon : "  + (cpt) + " : " + stTampon[cpt][1]);
         }
         else
         {
            stTampon[cpt][0] = superTrend;
            stTampon[cpt][1] = tendance;
            Print("stTampon " + cpt + " : " + stTampon[cpt][0] + " stTampon : "  + (cpt) + " : " + stTampon[cpt][1]);
         }
      }
      Print("On sort de la boucle");
   }
   if (superTrendChange(stTampon)==true)                    // si la tendance change alors superTrendChange = vrai
      tendanceChange = superTrendChange(stTampon);
     
   Print("tendanceChange : " + tendanceChange);
   
   Print("tendance confirmé : " + superTrendChange(stTampon)); 
   
   if (tendanceChange==true && superTrendChange(stTampon)==false) // si la tendance est confirmé superTrendChange = faux et tendanceChange = vrai
   {
      CheckForClose();
      if (MathAbs(CalculateCurrentOrders())<3)
         CheckForOpen();
         
      Print("Couleur tendance 1 : " + tendance);
      tendanceChange = false;
   }
}


...
2010.05.05 14:16:56 2010.04.12 00:04 Aupa_v10 EURUSD,M15: stTampon 3 : 1.35677000 stTampon : 3 : 1.00000000
2010.05.05 14:16:56 2010.04.12 00:04 Aupa_v10 EURUSD,M15: stTampon 2 : 1.35677000 stTampon : 2 : 1.00000000
2010.05.05 14:16:56 2010.04.12 00:04 Aupa_v10 EURUSD,M15: stTampon 1 : 1.35677000 stTampon : 1 : 1.00000000
2010.05.05 14:16:56 2010.04.12 00:04 Aupa_v10 EURUSD,M15: stTampon 0 : 1.35677000 stTampon : 0 : 1.00000000
2010.05.05 14:16:56 2010.04.12 00:04 Aupa_v10 EURUSD,M15: Couleur tendance : 1.00000000
2010.05.05 14:16:56 2010.04.12 00:04 Aupa_v10 EURUSD,M15: SuperTrend 0 : 1.35677000
2010.05.05 14:16:56 2010.04.12 00:04 Aupa_v10 EURUSD,M15: tendance confirmé : 1
2010.05.05 14:16:56 2010.04.12 00:04 Aupa_v10 EURUSD,M15: tendanceChange : 1
2010.05.05 14:16:55 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 11 : 1.35677000 stTampon : 11 : 1.00000000
2010.05.05 14:16:55 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 10 : 1.35677000 stTampon : 10 : 1.00000000
2010.05.05 14:16:55 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 9 : 1.35677000 stTampon : 9 : 1.00000000
2010.05.05 14:16:55 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 8 : 1.35677000 stTampon : 8 : 1.00000000
2010.05.05 14:16:55 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 7 : 1.35677000 stTampon : 7 : 1.00000000
2010.05.05 14:16:55 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 6 : 1.35677000 stTampon : 6 : 1.00000000
2010.05.05 14:16:55 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 5 : 1.35677000 stTampon : 5 : 1.00000000
2010.05.05 14:16:55 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 4 : 1.35677000 stTampon : 4 : 1.00000000
2010.05.05 14:16:54 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 19 : 1.35677000 stTampon : 19 : 1.00000000
2010.05.05 14:16:54 2010.04.12 00:03 Aupa_v10 EURUSD,M15: stTampon 18 : 1.35677000 stTampon : 18 : 1.00000000
...


Haut
 Profil  
 

Forex expert advisor Pb EA boucle for

                                         
 

Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 1 message ] 

Heures au format UTC


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Template made by DEVPPL Flash Games - Traduction par: phpBB-fr.com
phpBB SEO

Accueil du site - Forum - RSS - Sitemap -