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
Dans mon cas, c'était "<=", mais les valeurs stochastiques changent très fortement, même à chaque tick - il y a quatre décimales supplémentaires, c'est-à-dire qu'en un tick, les valeurs peuvent passer de (par exemple) 75.0003 à 74.0900.
Ainsi, le signe "=" peut être omis sans crainte. Mais bien sûr, pour ne pas penser - je pense que je le ferai.
Essayez d'ajouter Print avant OrderClose et voyez si le signal de fermeture apparaît.
C'est fait. Ajouté. Non, ..... ! L'avis de clôture n'apparaît pas dans le journal de bord.
Je ne comprends pas ! J'ai mis ce bloc dans un autre EA. Et un troisième. ... . Mais la situation n'a pas changé ! Les postes ne sont pas fermés. Bien que rarement, rarement (une ou deux fois sur l'historique = 1 an) et clignote un triangle vert de fermeture sur le graphique visuel. Mais ça ne devrait pas être comme ça ! Les positions, à en juger par le code, devraient se fermer comme une navette de machine à coudre !
Indicateur NOnLagMA dans le téléchargement
Peut-être que ce bloc ne devrait pas fonctionner ? Après tout, nous avons des stops dans le code lorsque nous ouvrons : - stoploss et takeprofit. Et peut-être que toutes les autres conditions de clôture sont ignorées pour cette raison ?
ticket=OrderSend(Symbol(),0,Lots,Ask,Slippage,Bid-SL_long*Point,Ask+TP_long*Point, NULL,MagicNum, 0,CLR_NONE) ;
Vous devrez vous en occuper d'une autre manière.
Je ne comprends rien !
Vous devriez être plus attentif.)
Voici la fonction start() de la variante de test (sans SL et TP, avec des messages corrects et sans glissement inutile) :
Mais je n'utiliserais pas cet EA sur un compte réel si j'étais vous. Il faut le mettre en ordre, ou en "préparation", si vous voulez ;)
Oui, bien sûr. Merci pour votre aide ! Je comprends votre commentaire sur mon erreur.
Et j'ai pris note de vos recommandations. Il y a encore un long chemin à parcourir avant un véritable commerce...
p.s/ Tout fonctionne.... ! Et comment ça a marché !
Je n'ai pas regardé le code.
Mais une chose est sûre : au lieu de "if(Stochast_1>75 && Stochast_0<75)", je ferais "if(Stochast_1>75 && Stochast_0<=75)".
Une meilleure solution serait : if(Stochast_1-75.0>0 && Stochast_0-75.0<=0) afin d'éviter les conversions inutiles des types int et double.
Et comment éviter les int et double inutiles. ? Je n'arrive pas à comprendre. En outre, au lieu de chiffres, nous pouvons utiliser des paramètres externes : extern int Up_lim = 80 ; extern int Low_lim = 20 ;
Premièrement, il est incorrect de comparer le réel Stochast_ et l'entier 75, et deuxièmement, il est plus correct de comparer leur différence avec zéro.
"Comparaison de nombres réels".