Discussion de l'article "L'indicateur ZigZag : Approche novatrice et nouvelles solutions" - page 5

 
Je suis totalement novice, mais comment puis-je automatiser cet EA pour ouvrir des positions en fonction de l'indicateur ?
 

Dans le fichier AdvancedZigZag.mqh, j'ai dû modifier les éléments suivants


Ligne 74 : zzH[h]=(MqlZigZag)zz[i] ; à zzH[h].price=zz[i].value ;

Ligne 80 : zzL[l]=(MqlZigZag)zz[i] ; à zzL[l].price=zz[i].value ;


Dans le programme principal two_comment.mq5, on trouve également le bloc de code suivant

//--- vérification de l'intégrité des calculs préliminaires - la fonction CopyBuffer entraîne une erreur, donc err=-1 et elle revient, donc le reste du programme ne s'exécute pas...

J'ai simplement commenté la vérification de l'erreur ou mis int err=1 pour que le bloc de programme ne s'exécute pas. et maintenant l'EA fonctionne pour moi.


//--- vérification de l'intégrité des calculs préliminaires

if(err<0)

{

//--- calculer les sommes des déviations des nœuds par rapport à la MA pour les pics ZigZag

ArrayInitialize(sumHi,0.0) ;

for(int j=H-1 ; j>=0 ; j--)

{

for(int i=0 ; i<NUMBER_MA ; i++)

{

err=CopyBuffer(handle_MA_H[i],0,Azz.zzH[j].t,1,MA) ;

if(err<0) return ;

sumHi[i]+=Azz.zzH[j].price-MA[0];

//Print("Pas d'erreur ! sumHi : ", sumHi[i]) ;

}

}

//--- calculer les sommes des écarts des nœuds par rapport à MA pour les creux en ZigZag

Print("Error Number : ", err) ;

ArrayInitialize(sumLo,0.0) ;

for(int j=L-1 ; j>=0 ; j--)

{

for(int i=0 ; i<NUMBER_MA ; i++)

{

err=CopyBuffer(handle_MA_L[i],0,Azz.zzL[j].t,1,MA) ;

if(err<0) return ;

sumLo[i]+=MA[0]-Azz.zzL[j].price;

}

}

}

 

Veuillez utiliser le bouton </> pour insérer le code ci-dessus.


 

Chers tous,

J'ai compilé les fichiers et j'obtiens le message d'erreur suivant, comment puis-je le résoudre ?


 

Bonjour parkus,

remplacez la ligne 74 par le bout de code marqué en rouge.

Je sais que vous ne l'avez pas demandé, mais les fichiers <advancedzigzag.mqh> et <getextremums.mqh> doivent être copiés dans le répertoire <...\MQL5\Include\>. Je recommande de renommer les fichiers advancedzigzag.mqh en AdvancedZigZag.mqh, getextremums.mqh en GetExtremums.mqh et enfin two_comets.mq5 en AdvancedZigZag.mq5. Comme ce dernier est un expert, je l'ai copié dans le répertoire <...\MQL5\Experts\Advisors\Downloads\ZigZag\> pour mieux organiser les plugins.


Correction d'erreurs

 
Serait-il possible d'utiliser ce conseiller Comets dans la version mql4 ? Je vous remercie de votre réponse.
 
Un indicateur aussi bon ne peut pas être chargé, demandez conseil ! Dans quel dossier placer chaque fichier
 
Veuillez me dire ce qu'il fait
 

Bonjour,

Pouvez-vous corriger le code source et le télécharger à nouveau ?

J'ai essayé de compiler et j'ai obtenu 30 erreurs !

Merci de votre compréhension.

 

zzH[h]=(MqlZigZag)zz[i] ;
h++ ;
}
else
{
& nbsp ; zzL[l]=(MqlZigZag)zz[i] ; cannot cast 'dextremum' to 'MqlZigZag'

cannot cast 'dextremum' to 'MqlZigZag' AdvancedZigZag.mqh 74 17
cannot cast 'dextremum' to 'MqlZigZag' AdvancedZigZag. mqh 79 17
ne peut être lu