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
ceci est faux : if(totalOrders==0 && Magic==OrderMagicNumber() &&
OrderSelect(i-1 , SELECT_BY_POS,MODE_HISTORY)==true)
parce que vous appelez OrderMagicNumber() avant OrderSelect(), donc il fait probablement référence à l'appel précédent.
Oh, désolé j'ai mal exprimé mon opinion.
Je veux coder (mais je ne suis pas capable de le faire) quelque chose qui arrêtera le trading de l'EA (ou une partie du trading de l'EA) si l'équité est sous une valeur.
Merci pour votre aide Roger09, mais je n'ai pas besoin d'afficher l'équité du compte sur le graphique.Essayez cet EA
CloseAllBuySell - Base de code MQL4
Utilisez son idée et créez un code avec quelque chose comme
if (AccountEquity()<YourValue) closeallorders() ;
Quelqu'un pourrait-il ajouter le stop suiveur EMA à l'exemple d'EA de moyenne mobile?
EMA trailing réglé sur 1
Puis changez l'entrée en
Buy=Open[1]>ma && Close[1]>ma ;
Sell=Open[1]<ma && Close[1]<ma ;
Cela devrait faire un très bon scalper simple.
Merci
Beno
Ajoutez au début du programme
extern int pips=2;//(ou votre nombre de pips)
puis remplacer
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() ;[/CODE]
to
[CODE]if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point;Quelqu'un peut-il m'aider à mettre une alerte dans cet indicateur lorsqu'il dessine une nouvelle flèche ?
Merci !
Non, corrigez-le
extern int pips=2 ;
//+------------------------------------------------------------------+
//| fonction de démarrage du programme de script |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbole() ;
int ot = OrdersTotal() ;
int ords[200], ordType[200], ordTicket[200] ; double ordLots[200] ;
string ordComments[200] ;
int ix=0 ;
for (int i=0 ; i<ot ; i++)
{
int o = OrderSelect(i, SELECT_BY_POS) ;
if (OrderSymbol() == Symbol())
si ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0 ;
si ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point ;
si ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point ;
si (sl != 0+10)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0) ;
}
}
//----
retour(0) ;
OK, le code ressemble maintenant à ceci :
extern int pips=10;//
//+------------------------------------------------------------------+
//| fonction de démarrage du programme de script |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbole() ;
int ot = OrdersTotal() ;
int ords[200], ordType[200], ordTicket[200] ; double ordLots[200] ;
string ordComments[200] ;
int ix=0 ;
for (int i=0 ; i<ot ; i++)
{
int o = OrderSelect(i, SELECT_BY_POS) ;
if (OrderSymbol() == Symbol())
si ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0 ;
si ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point ;
si ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point ;
si (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0) ;
}
}
//----
retour(0) ;
}
//+------------------------------------------------------------------+
Bonjour Roger09,
Merci beaucoup pour votre aide avec ce code. Mon code script ressemble maintenant à ceci (j'ai ajouté les changements en rouge juste pour cette réponse, le code dans MQ4 ressemble au reste qui était là) :
//+------------------------------------------------------------------+
//| fonction de démarrage du programme de script |
//+------------------------------------------------------------------+
int start()
{
//----
extern int pips=2;//
string curr = Symbol() ;
int ot = OrdersTotal() ;
int ords[200], ordType[200], ordTicket[200] ; double ordLots[200] ;
string ordComments[200] ;
int ix=0 ;
for (int i=0 ; i<ot ; i++)
{
int o = OrderSelect(i, SELECT_BY_POS) ;
if (OrderSymbol() == Symbol())
si ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0 ;
si ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() +pips*Point ;
si ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() -pips*Point ;
si (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0) ;
}
}
//----
retour(0) ;
Pouvez-vous me dire si j'ai bien compris ? Je suis à l'aveugle, alors soyez indulgent.
En fait, cela va fonctionner, mais ce code n'est pas bon. Malheureusement, je ne connais pas vos objectifs principaux et je ne peux pas vous recommander autre chose.