Discussion de l'article "Guide étape par étape pour rédiger un conseiller expert en MQL5 pour les débutants" - page 20

 
Ms fox pro, ma c'était le bon temps
 

Voilà, j'ai modifié l'EA.

Bien sûr, il n'est pas non plusrentable, mais il est au moins (pour moi) lisible.

Bonne chance pour la suite.

Dossiers :
 
Otto Pauser:

Voilà, j'ai maintenant réorganisé l'EA.

Bien sûr, il n'est pas non plus rentable, mais il est au moins (pour moi) lisible.

Bonne chance pour la suite.

MERCI BEAUCOUP POUR CELA !

Je vais prendre des vacances sans ordinateur portable.

 
vmajor:

Bonjour, je suis nouveau, excellent guide, merci !


J'ai un problème cependant. J'ai compilé l'exemple fourni, j'ai lancé le débogueur, les points d'arrêt ont fonctionné, j'ai repris le débogage et j'obtiens des erreurs 4756 sur les ordres d' achat et de vente, comme ceci :



Que se passe-t-il et que dois-je faire pour corriger ce comportement ?


V.


Il s'agit d'un bogue dans l'EA. Jetez un coup d'œil à la page 2 où se trouve la solution.

Meilleure approche : utiliser la classe https://www.mql5.com/fr/docs/standardlibrary/tradeclasses/ctrade.

Documentation on MQL5: Standard Library / Trade Classes / CTrade
Documentation on MQL5: Standard Library / Trade Classes / CTrade
  • www.mql5.com
Standard Library / Trade Classes / CTrade - Reference on algorithmic/automated trading language for MetaTrader 5
 

L'EA ouvre de nombreuses positions à l'achat et à la vente.

La meilleure façon de corriger cela est la suivante :

if(Buy_Condition_1 && Buy_Condition_2)

{

if(Buy_Condition_3 && Buy_Condition_4)

{

// y a-t-il une position d'achat ouverte ?

if(Buy_opened || Sell_opened)

{

Alert("Nous avons déjà une position ouverte !!!") ;

return ; // Ne pas ouvrir de nouvelle position d'achat

}

---------------La même chose s'applique à la position de vente-----------------------


Le code original sous ouvre plusieurs positions :

if(Buy_Condition_1 && Buy_Condition_2)

{

if(Buy_Condition_3 && Buy_Condition_4)

{

// y a-t-il une position d'achat ouverte ?

if(Buy_opened ) //Erreur, devrait être : if(Buy_opened || Sell_opened)

Alert("Nous avons déjà une position ouverte !!!") ;

return ; // Ne pas ouvrir de nouvelle position d'achat

}

 
chucks4sure:

Veuillez éditer votre message et utiliser le bouton de code (Alt + S) lorsque vous postez du code.

 
Quelqu'un peut-il m'aider à optimiser l'EA ?
Quelles valeurs de départ, de fin et de pas dois-je utiliser ?
Puis-je utiliser l'optimisation génétique ?
 
Puisque de plus en plus de gens viennent ici, bon article, bon travail))))) Question : est-il correct dans l'article de calculer le prix d'ouverture de l' ordre, le stoploss et le takeprofit pour l'achat à partir du prix demandé, pour la vente à partir du prix offert ? Cela semble correct pour le prix d'ouverture de l'ordre d'achat - ask, mais le stoploss et le takeprofit sont calculés à partir du bid price ? Après tout, l'ordre d'achat est clôturé au cours acheteur. Je vous prie de m'excuser pour mon vocabulaire russe.
 
VikMorroHun:


Il s'agit d'un bogue dans l'EA. La solution se trouve à la page 2.

Meilleure approche : utiliser la classe https://www.mql5.com/fr/docs/standardlibrary/tradeclasses/ctrade.



J'ai eu l'erreur 4756, j'ai vu la solution à la page 2, et j'ai vérifié le code original, il y avait ZeroMemory(mrequest) ; à la ligne 218 même. mais j'ai toujours l'erreur 4756.

 
wefgoncalves:
Quelqu'un pourrait-il m'aider à optimiser l'EA ?
Quelles valeurs de départ, de fin et de pas dois-je utiliser ?
Puis-je utiliser l'optimisation génétique ?

Bonjour mon ami, je suis aussi un débutant mais il y a une chaîne YouTube qui m'a beaucoup aidé avec l'optimisation, la chaîne Vilela !

J'y ai trouvé beaucoup de choses utiles avec un excellent enseignement. Est-ce que je peux discuter avec toi pour que nous puissions échanger nos expériences ?
bonnes études !!!