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
Quelqu'un peut-il avoir la gentillesse de m'aider à résoudre ce problème :
Il y a un problème avec le code que j'ai attaché sous ce message..., il donne toujours le signal au début de la formation d'une bougie !
Il donne toujours le signal au début de la formation d'une bougie, ce qui fait que j'entre dans le trade tardivement, surtout dans les cadres de temps plus élevés. Pouvez-vous nous aider à faire en sorte que l'iny ne donne l'alerte que lorsque le pont de prix actuel MA est à la hausse pour l'achat et à la baisse pour la vente, au lieu d'attendre le début d'une autre bougie.
Merci Fichiers attachés
Bonjour Mladen, savez-vous ce que je peux utiliser pour déclencher mes critères d'ouverture de trade ?
Ce que je veux savoir, c'est comment puis-je déclencher une transaction si la bougie ferme au-dessus ou au-dessous de la ligne de moyenne mobile de 10pips.
Le système déclenchera la transaction en fonction de la clôture au-dessus ou au-dessous de la ligne de moyenne mobile.
Je pense utiliser iClose, mais je n'ai aucune idée de la façon de l'implémenter. J'apprécierais votre aide.
Merci.
Ryan
Bonjour Mladen, savez-vous ce que je peux utiliser pour déclencher mes critères d'ouverture de transaction ?
Ce que je veux savoir, c'est comment puis-je déclencher une transaction si la bougie ferme au-dessus ou au-dessous de la ligne de moyenne mobile de 10pips.
Le système déclenchera la transaction en fonction de la clôture au-dessus ou au-dessous de la ligne de moyenne mobile.
Je pense utiliser iClose, mais je n'ai aucune idée de la façon de l'implémenter. J'apprécierais votre aide.
Merci.
RyanBonjour Mladen,
J'ai fait le code, il semble fonctionner, cependant, le commerce à certains moments ne se déclenche pas lorsque les critères sont remplis et je n'ai aucune idée sur la façon de procéder à partir de maintenant.
//+------------------------------------------------------------------+
//---- paramètres d'entrée
extern double TakeProfit = 250.0 ;
extern double Lots = 0.1 ;
extern double StopLoss = 200.0 ;
//+------------------------------------------------------------------+
//| fonction d' initialisation de l'expert
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation experte |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage expert |
//+------------------------------------------------------------------+
double pBid, pAsk ;
datetime newbar ;
int start()
{
//+------------------------------------------------------------------+
if(newbar==Time[0])return(0) ;
sinon newbar=Time[0] ;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
double Up_MA = iMA(NULL,0,10,0,MODE_LWMA,PRICE_HIGH,0) ;
double Dwn_MA = iMA(NULL,0,10,0,MODE_LWMA,PRICE_LOW,0) ;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//-- Trigger Trade
//+------------------------------------------------------------------+
int ticket, total ;
double CD_Close = iClose(NULL,0,1) ;
total = OrdersTotal() ; // vérification du nombre total de transactions actuellement ouvertes
if(total < 2)
{
if (CD_Close >= Up_MA+50*Point)//Hour()==Entry_Hour_1st && Minute()==Entry_Minute_1st)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,
"My EA",Entry_magicNo_1st,0,Green) ;
retour(0) ;
}
if (CD_Close <= Dwn_MA-50*Point)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,
"My EA",Entry_magicNo_1st,0,Red) ;
return(0) ;
}
return(0) ;
}
return(0) ;
}
//+------------------------------------------------------------------+
Bonjour Mladen,
J'ai créé le code, il semble fonctionner, cependant, la transaction ne se déclenche pas toujours lorsque les critères sont remplis et je n'ai aucune idée de la façon de procéder à partir de maintenant.
//+------------------------------------------------------------------+
//---- paramètres d'entrée
extern double TakeProfit = 250.0 ;
extern double Lots = 0.1 ;
extern double StopLoss = 200.0 ;
//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation experte |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage expert |
//+------------------------------------------------------------------+
double pBid, pAsk ;
datetime newbar ;
int start()
{
//+------------------------------------------------------------------+
if(newbar==Time[0])return(0) ;
sinon newbar=Time[0] ;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
double Up_MA = iMA(NULL,0,10,0,MODE_LWMA,PRICE_HIGH,0) ;
double Dwn_MA = iMA(NULL,0,10,0,MODE_LWMA,PRICE_LOW,0) ;
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//-- Trigger Trade
//+------------------------------------------------------------------+
int ticket, total ;
double CD_Close = iClose(NULL,0,1) ;
total = OrdersTotal() ; // vérification du nombre total de transactions actuellement ouvertes
if(total < 2)
{
if (CD_Close >= Up_MA+50*Point)//Hour()==Entry_Hour_1st && Minute()==Entry_Minute_1st)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,Ask-StopLoss*Point,Ask+TakeProfit*Point,
"My EA",Entry_magicNo_1st,0,Green) ;
retour(0) ;
}
if (CD_Close <= Dwn_MA-50*Point)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,Bid+StopLoss*Point,Bid-TakeProfit*Point,
"My EA",Entry_magicNo_1st,0,Red) ;
return(0) ;
}
return(0) ;
}
return(0) ;
}
//+------------------------------------------------------------------+Pouvez-vous montrer des cas où il aurait dû déclencher une transaction et où il ne l'a pas fait ?
Bonjour Mladen,
Veuillez trouver ci-joint la capture d'écran.
Salutations
Ryan
Bonjour Mladen, est-ce qu'il pourrait y avoir une forme d'erreur dans certaines lignes qui provoque cette erreur ?
Salutations
Bonjour Mladen, est-ce qu'il pourrait s'agir d'une erreur dans certaines lignes qui provoque cette erreur ? Salutations
tkuan77
Dans un premier temps, vérifiez l'onglet journal et experts du terminal pour voir si un message d'erreur y est écrit.
tkuan77 Dans un premier temps, vérifiez l'onglet journal et experts du terminal pour voir si un message d'erreur y est écrit.
Bonjour mladen, merci, le problème a déjà été résolu.
Cependant, ma prochaine question est la suivante : comment puis-je trier les transactions en conséquence ?
Par exemple :
Nombre total de transactions à un moment donné = 2
1 transaction pour chaque ensemble de critères. Comment puis-je m'assurer que le système ne déclenche pas plus d'une transaction pour chaque ensemble particulier si les critères sont remplis plus d'une fois ?
Voici mes codes pour référence :
total = OrdersTotal() ; // vérifier le nombre total de transactions actuellement ouvertes
if(total < 2)
{
if (Hour()==Entry_Hour_1st || Hour()==Entry_Hour_2nd)
{
//S'il n'y a pas de transaction actuellement ouverte sous ce critère, vérifiez si les conditions sont remplies, si oui, déclenchez une transaction, si non, ne déclenchez pas de transaction.
}
if (Hour()==Entry_Hour_3rd || Hour()==Entry_Hour_4th)
{
//Si aucune transaction n'est actuellement ouverte sous ce critère, vérifiez si les conditions sont remplies, si oui, déclenchez une transaction, si non, ne déclenchez pas de transaction.
}
}
Merci de vos conseils. Merci.
Salutations
Comment les ordres des courtiers ECN doivent-ils être traités ?
Comment les ordres des courtiers ECN doivent-ils être traités exactement ?
apprenti codeur
La seule différence est que sur un courtier ECN, vous ouvrez d'abord un ordre avec des champs sl et tp nuls, puis vous modifiez l'ordre (si nécessaire) pour définir sl et tp, alors que sur un courtier "normal", vous pouvez placer sl et tp en même temps que l'ouverture de l'ordre. Tout le reste est exactement le même