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
Essayez ceci...
Mettez
In the start function :
[CODE]
double ma1=NormalizeDouble(first_ma,Digits);
double ma2=NormalizeDouble(second_ma,Digits);
if(ma1=ma2)
{
ma_cross=ma1;
}
int spread=MarketInfo(Symbol(), MODE_SPREAD);
SLbuy=ma1+spread-SL*Point;
SLsell=ma1+SL*Point;
J'espère que cela vous aidera
Fermer/Ouvrir des trades à un signal inversé
J'ai un petit problème :
Dans mon EA, j'ai une condition d'achat, une condition de vente et un ordre de fermeture pour les signaux inversés. Pour éviter d'ouvrir et de fermer des positions dans la même barre, j'ai le code suivant :
if(OneEntryPerBar==true)
{
if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0) ; else CheckEntryTime = iTime(NULL,PERIOD_H1,0) ;
}
Tout va bien. Mais maintenant, s'il trouve une condition de vente pendant une transaction d'achat ouverte, il ferme l'achat, ce qui est OK. Mais il n'ouvre pas la vente car le code ci-dessus l'en empêche.
Une idée sur la façon de lui faire fermer et ouvrir dans une barre... mais seulement une fois par barre ?
J'espère que je me suis bien fait comprendre.
Merci
Fermer et annuler à une certaine heure ?
Quelqu'un peut-il m'aider à configurer un EA qui ferme tous les ordres ouverts et annule tous les ordres en attente à une certaine heure, c'est-à-dire à 5h15 UTC+1 ?
Est-il également possible de spécifier non seulement l'heure mais aussi la date ?
J'ai un petit problème ici :
Dans mon EA, j'ai une condition d'achat, une condition de vente et un ordre de fermeture pour les signaux inversés. Pour empêcher l'ouverture et la fermeture de transactions dans la même barre, j'ai le code suivant :
if(OneEntryPerBar==true)
{
if(CheckEntryTime==iTime(NULL,PERIOD_H1,0)) return(0) ; else CheckEntryTime = iTime(NULL,PERIOD_H1,0) ;
}
Tout va bien. Mais maintenant, s'il trouve une condition de vente pendant une transaction d'achat ouverte, il ferme l'achat, ce qui est OK. Mais il n'ouvre pas la vente car le code ci-dessus l'en empêche.
Avez-vous une idée sur la façon de lui faire fermer et ouvrir dans une seule barre... mais seulement une fois par barre ?
J'espère que je me suis bien fait comprendre.
Merciil ne s'ouvrira pas à cause du code que vous utilisez ci-dessus... jusqu'à l'heure suivante...
vous pouvez essayer ceci...
si (OrderOpenTime() >= iTime(NULL, PERIOD_H1, 0)) order++ ;
si (ordre < 1)
{
conditions de l'ordre
}
j'espère que cela vous aidera... je ne suis pas un expert... mais ce code n'empêchera pas de le faire plus d'une fois...
Aidez-moi Ea
Je ne parle pas anglais, je veux ajouter Maxtrade et Risk Pouvez-vous m'aider ?
Merci
Je ne parle pas anglais, je veux ajouter Maxtrade et Risk Pouvez-vous m'aider Merci
Bonjour,
Vous avez d'autres problèmes avec cet EA. Vous dites que vous souhaitez effectuer un achat ou une vente lorsque VAR1, VAR2 ou VAR3 a atteint ou dépassé certaines valeurs.
Vous devez d'abord définir ce qu'est VAR1, 2 et 3 ? Un indicateur avec des paramètres spécifiques ?
Merci,
StrangeGuy
Prendre le profit, annuler tous les autres ordres
Quelqu'un sait-il comment coder une fois que l'ordre ouvert a atteint l'objectif de profit, le reste des ordres en attente sera supprimé ? C'est différent d'oco. J'ai vérifié dans la section elite, mais rien n'y figure.
question
Je ne comprends pas la différence de deux programmes, mais l'enseignerait-on ?
int limit = Bars-IndicatorCounted() ;
int i ;
for( i=limit-1 ; i>=0 ; i--)
int counted_bars=IndicatorCounted() ;
//---- vérifier les erreurs éventuelles
if(counted_bars<0) return(-1) ;
//---- dernière barre comptée sera recomptée
if(counted_bars>0) counted_bars-- ;
limit=Bars-counted_bars ;
for(i = 0 ; i <= limite ; i++)
Je ne comprends pas la différence entre les deux programmes, mais l'enseignerait-on ?
int limit = Bars-IndicatorCounted() ;
int i ;
for( i=limit-1 ; i>=0 ; i--)
int counted_bars=IndicatorCounted() ;
//---- vérifier les erreurs éventuelles
if(counted_bars<0) return(-1) ;
//---- dernière barre comptée sera recomptée
if(counted_bars>0) counted_bars-- ;
limit=Bars-counted_bars ;
for(i = 0 ; i <= limite ; i++)La différence la plus importante est le sens de la boucle "for" :
La première analyse les barres en suivant le temps naturel, c'est-à-dire de la barre la plus ancienne à la plus récente.
La seconde balaye les barres dans le sens inverse : cela peut fonctionner si le calcul d'une barre n'implique pas le résultat de la barre précédente ;
En général, il est préférable d'utiliser la même direction que le temps : cela fonctionne toujours et il n'y a pas de possibilités d'erreur.
Merci.
Merci pour votre gentillesse, Michel !
J'ai été troublé pendant longtemps, pourquoi il commence une signature différente bien que deux d'entre eux sont de légères différences.