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
En regardant rapidement (je n'ai pas encore creusé), j'ai trouvé la référence du point que vous calculez.
Essayez de le "jeter" et de mettre le stupide Point. C'est peut-être là que réside le problème (le point par MarketInfo n'aboutit pas toujours à ce que l'on veut ?).
C'est toujours censé...
mais vous pouvez aussi essayer de le normaliser =)
et ce n'est pas toujours acceptable - l'expert peut trader sur plusieurs paires, et le point peut être différent...
Supposons que l'ordre de perte = 1,29211 (5 chiffres après la virgule)
bid=1,29716 (également 5 chiffres )
TrailingStop = 50
point =0,001
alors (bid - TrailingStop * point)=1,29216>1,29211
Vrai, cela nécessite que les chiffres deviennent soudainement 5
Et aussi
peuvent être remplacés sans douleur par
Je pense qu'il n'est pas nécessaire de vérifier l'absence de niveau de stop loss lors du trailing.
En fait, ça l'est, je me corrige. Si nous fixons un stop loss uniquement lorsqu'il y a un profit, et sinon nous sommes prêts à attendre un appel de marge.
Je n'ai rien trouvé d'autre. Sur quelle paire votre trailing stop a-t-il mal fonctionné et y a-t-il eu un fort mouvement ?
Je convertis tout en valeurs entières à des fins de comparaison. Je stocke et utilise les valeurs données partout où je peux (dans le tableau).
utiliser les valeurs données (dans des tableaux, des variables, etc.)
C'est-à-dire que les variables de type int peuvent prendre des valeurs comprises entre -2147483648 et 2147483647.
Cette dimensionnalité est tout à fait adaptée aux croix.
De la même manière, 1,2999 et 1,3000 peuvent être convertis en 12999 et 13000, et on peut alors les comparer sans risque,
sans crainte d'une erreur périodique.
J'ai esquissé un exemple ici :)
ici
sortie :
shiftpoint EURUSD,H1 : Real Double Value = 1.29999999
shiftpoint EURUSD,H1 : Valeur du point de décalage = 13000
shiftpoint EURUSD,H1 : Valeur rétablie = 1.3000
à l'adresse
Alternativement.
Salut.
Je ramène tout à des nombres entiers pour la comparaison
2dev :
Vous avez raison - c'est un problème fondamental, il est dangereux de comparer des nombres à virgule flottante.
Aux endroits importants, ramenez toujours les chiffres à une certaine précision via Normalize().
Standardiser le type double (8 octets).
D'ailleurs, nous forçons la normalisation de tous les prix passés dans les requêtes commerciales pour éviter les erreurs.
Vous pouvez envoyer une demande de stop loss à 1.2932461, mais il sera fixé à 1.2932.
Veuillez vérifier si c'est l'erreur en essayant de réinitialiser l'arrêt au même prix ?
3 personnes regardaient =)) Renat est venu et a juste pointé du doigt l'erreur =)))
Je vais vérifier maintenant, bien sûr, mais c'est très probablement le cas... Je n'ai pas normalisé "bid - TrailingStop * point", et cette construction même est impliquée dans la modification des ordres...
nous ne sommes pas attentifs, messieurs ;)
Vous voulez dire le Normalize() que Begun a suggéré ?
Voulez-vous dire le Normalize() que Begun a suggéré ?
Désolé, je voulais dire la norme NormalizeDouble.