![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Besoin d'aide pour un code simple !
Quel code puis-je mettre dans mon ea pour qu'il n'effectue qu'une seule transaction sur la barre actuelle suite au croisement de deux moyennes mobiles???
Je négocie sur une minute et parfois la valeur de la barre peut aller au plus haut, puis au plus bas, puis à nouveau au plus haut. Si l'application ouvre une transaction lorsque les deux moyennes mobiles se croisent, la valeur de la barre peut passer en dessous du croisement dans la même minute et l'application quittera la transaction si la valeur de la transaction devient temporairement basse. En conséquence, l'ea peut ouvrir et fermer une position sur la même barre d'une minute ! Merci de me conseiller !
Merci par avance !
Dave
<<<
J'ai déjà eu ce problème et voici ce que j'ai fait :
En haut, là où vous déclarez vos vérifiables, mettez
static bool ITradedOnThisBar ;
puis là où vous envoyez votre ordre, mettez
if(votre critère && ITradedOnThisBar!=Bars)
{
ticket=OrderSend(Symbol(),OP_BUY,... ) ;
ITradedOnThisBar = Bars ;
}
Ceci vous empêchera d'ouvrir une transaction sur la même barre que celle sur laquelle vous avez déjà ouvert une transaction, mais plus important encore, vous voulez l'empêcher de se fermer sur la même barre, donc j'ajouterais également ce code à l'endroit où vous fermez votre transaction, par exemple :
if(Vos critères && ITradedOnThisBar != Bars)
{
OrderClose(OrderTicket(),... ) ; // clôture de la position
}
C'est probablement la façon la plus simple de faire ce que vous essayez de faire.
Code de rafraîchissement des buffers
il y a un code (patch, fix, upgrade) par Raff pour 4 indicateurs multitimeframe (MTF), qui fonctionne plutôt bien ;
Quel serait le code similaire que vous pourriez ajouter aux indicateurs réguliers (non MTF) ?
Si possible, un exemple, s'il vous plaît
merci
//---- Rafraîchir les tampons +++++++++++++++++++++ mise à jour par Raff
if (TimeFrame>Period()) {
int PerINT=TimeFrame/Period()+1 ;
datetime TimeArr[] ; ArrayResize(TimeArr,PerINT) ;
ArrayCopySeries(TimeArr,MODE_TIME,Symbol(),Period()) ;
for(i=0;i=TimeArray[0]) {
//----
/*****************************************************
Rafraîchir les tampons : tampon = tampon[0] ;
******************************************************/
Buffer1= Buffer1[0] ;
Buffer2= Buffer2[0] ;
Buffer3= Buffer3[0] ;
//----
} } }
//+++++++++++++++++++++++++++++++++++++++++ Raff ++++++
J'ai déjà eu ce problème et voici ce que j'ai fait :
En haut, là où vous déclarez vos vérifiables, mettez
static bool ITradedOnThisBar ;
puis là où vous envoyez votre ordre, mettez
if(vos critères && ITradedOnThisBar!=Bars)
{
ticket=OrderSend(Symbol(),OP_BUY,... ) ;
ITradedOnThisBar = Bars ;
}
Ceci vous empêchera d'ouvrir une transaction sur la même barre que celle sur laquelle vous avez déjà ouvert une transaction, mais plus important encore, vous voulez l'empêcher de se fermer sur la même barre, donc j'ajouterais également ce code à l'endroit où vous fermez votre transaction, par exemple :
if(Vos critères && ITradedOnThisBar != Bars)
{
OrderClose(OrderTicket(),... ) ; // clôture de la position
}
C'est probablement la façon la plus simple de faire ce que vous essayez de faire.Merci pour le codage. Je l'ai installé dans mon ea (j'espère aux bons endroits), et je verrai si cela fonctionnera une fois que les moyennes mobiles se croiseront.
Merci !
Dave
Je ne sais pas comment coder, mais j'ai créé plusieurs EA similaires à ce que vous décrivez en utilisant l'expert advisor builder. Je ne suis pas sûr que ce soit ce que vous recherchez, mais vous pouvez y jeter un coup d'œil si ce n'est pas déjà fait.
Expert Advisor Builder pour MetaTrader 4
Je vais vérifier. Merci.
Existe-t-il un tel code ?
Je me demande s'il existe un tel code (avec la description ci-dessous).
Quel serait le code de base avec les paramètres suivants ? (en sachant que n'importe quel indicateur avec une valeur pourrait être inséré)
(Ouverture de trades)
1. Un trade long est placé lorsque la valeur actuelle d'un indicateur est supérieure à la valeur de clôture de la barre précédente. (intrabar, pas close)
2. Une transaction courte est placée lorsque la valeur actuelle d'un indicateur est inférieure à la valeur de clôture de la barre précédente. (intrabar, pas close)
(Clôture des transactions)
1. Les transactions longues sont fermées lorsque les transactions courtes sont ouvertes.
2. Les transactions courtes sont fermées lorsque les transactions longues sont ouvertes.
Merci
essayez-en quelques-uns
Index de /_MT4_Experts
Merci AJK. C'est une sacrée liste !
aide pour le code
Je suis sûr que quelqu'un a déjà posé cette question mais je ne la trouve pas lorsque je cherche dans les fils de discussion.
Je voudrais savoir comment coder un EA pour qu'il place une transaction uniquement lorsque le prix est entre deux niveaux -I.E.
if (price=>1.0000 && price< 1.0050) vendre