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
double loss_for_1_lot = pips_to_bsl/ ts * tv ;
Ce n'est PAS tv qui donne lieu à un div 0. Cela ne peut être que ts. Sur un courtier à 5 chiffres, ts peut imprimer zéro (4 chiffres).
Il me semble que vous n'avez jamais ouvert cette paire pour obtenir les informations de marché de votre courtier avant de télécharger l'historique depuis un autre endroit.
J'ai du mal à croire que la division par zéro soit générée par le code posté.
DomGilberto, compilez ce script et attachez-le au graphique qui, selon vous, renvoie une taille de tick nulle.
J'espère que cette vidéo que j'ai faite (40 secondes environ) illustre ce dont je parle (car je ne suis pas sûr d'être clair ou non).
Vidéo : http://screencast.com/t/uMHY5DpM
Vous verrez que dans la première partie, lorsque je dépose le script sur le graphique en direct (compte réel), la valeur du tick et la taille du tick renvoient "0" sur ce "compte notionnel", que j'illustre dans la fenêtre des lots (unités).
La deuxième partie est avec le même courtier mais sur une alimentation basée sur les lots et cette fois-ci, il retourne une valeur de tick et une taille de tick. Encore une fois, j'illustre que vous tradez en utilisant des lots.....
En ce qui concerne le testeur de stratégie, je ne sais pas pourquoi il fonctionne et parfois ne fonctionne pas. Le compte a été connecté pendant que j'effectuais les back-tests également (sur un compte démo notionnel alimenté (unités)).
Ma prochaine question est la suivante : si c'est la réponse typique que j'obtiendrai du compte notionnel, pouvez-vous me suggérer comment corriger le calcul de la taille de ma position dans cette circonstance ? Il fonctionne parfaitement pour une alimentation basée sur les lots... J'espère que c'est un peu mieux expliqué ?
Si vous utilisez un code différent dans votre code "test", qu'est-ce que cela prouve ?
Savez-vous que TICKVALUE renvoie la valeur actuelle à partir de maintenant . . . même pendant un test de stratégie ? Ainsi, pour toute paire dont la devise de base n'est pas la devise de dépôt, la valeur sera incorrecte et vos calculs de lot seront erronés . . .
Dans votre vidéo, vous utilisez GBPUSD dans la première instance, puis GBPJPY dans la seconde.
Je pense que si vous aviez attaché votre script à un graphique GBPUSD à lot normal, vous obtiendriez une valeur pour tickvalue, mais ticksize serait également zéro.
Ceci est dû au fait que les alertes de votre script utilisent des doubles et donc que 0.00001 sera imprimé comme 0.
Utilisez plutôtDoubleToStr(MarketInfo(Symbol(),MODE_TICKVALUE),8).
Ok, tout d'abord, merci pour l'aide de chacun.
Voici la vidéo pour "Gumrai" et "SDC" confirmant ce que vous me demandez tous les deux de faire. J'ai étiqueté les scripts avec vos alias MQL4, qui correspondent évidemment à votre code que vous avez posté ici. Vidéo : http://screencast.com/t/kglCd2hCae
Le courtier et le flux correspondant n'ont pas été modifiés pendant la pause. Il s'agit également d'un compte de flux notionnel (unités).
@RaptorUK : Oui, je savais que TICKVALUE retournait la valeur actuelle à partir de maintenant. Je suppose que votre deuxième partie en regardant maintenant est assez logique. Je suis confus quant à la façon dont je peux utiliser tickvalue dans le cadre de mon compte d'alimentation notionnel pour m'assurer que le dimensionnement de la position est correct... ?
Ok, tout d'abord, merci pour l'aide de chacun.
Voici la vidéo pour "Gumrai" et "SDC" confirmant ce que vous me demandez tous les deux de faire. J'ai étiqueté les scripts avec vos alias MQL4, qui correspondent évidemment à votre code que vous avez posté ici. Vidéo : http://screencast.com/t/kglCd2hCae
Le courtier et le flux correspondant n'ont pas été modifiés pendant la pause. Il s'agit également d'un compte de flux notionnel (unités).
@RaptorUK : Oui, je savais que TICKVALUE retournait la valeur actuelle à partir de maintenant. Je suppose que votre deuxième partie en regardant maintenant est assez logique. Je suis confus quant à la façon dont je peux utiliser tickvalue dans le cadre de mon compte d'alimentation notionnel pour m'assurer que le dimensionnement de la position est correct... ?
Ces vidéos sont pénibles, elles sont trop grandes pour mon écran.
Pourquoi ne pas simplement poster le code du script et le résultat de l'alerte.
Je ne sais pas ce que vous avez mis dans le script qui était censé être le code que je vous ai suggéré, mais il n'y a aucune chance qu'il puisse aboutir à "08".
Utilisez
@RaptorUK : Oui, je savais que TICKVALUE retournait la valeur actuelle à partir de maintenant. Je suppose que votre deuxième partie en regardant maintenant est assez logique. Je suis confus quant à la façon dont je peux utiliser tickvalue dans le cadre de mon compte d'alimentation notionnel pour m'assurer que le dimensionnement de la position est correct... ?
Ces vidéos sont une douleur, elles sont trop grandes pour mon écran.
Pourquoi ne pas simplement poster le code du script et le résultat de l'alerte.
Je ne sais pas ce que vous avez mis dans le script qui était censé être le code que je vous ai suggéré, mais il n'y a aucune chance qu'il aboutisse à "08".
Utilisez
Désolé - je me rends compte maintenant que j'ai oublié de mettre "DoubleToStr" ; ma faute !
TickSize = 0.00100000
TickValue = 0.00001026
(Déposé sur le flux notionnel GBPJPY)
@SDC J'ai simplement copié votre code d'ici et l'ai placé dans un nouveau script. C'est ce qui était renvoyé.
Dans cette zone de mon code, j'ai imprimé la formule pour décomposer les maths - Là où cela se produit, c'est sur un ordre d'achat en attente... pourtant cette partie du code "pips_to_ssl" est un stop loss de vente de pips... Ce qui n'est PAS utilisé pour un ordre d'achat en attente....
Ok, nouvelle mise à jour, j'ai joué avec la répétition de l'endroit précis où la division par zéro se produit.
Cette zone dans mon code, je l'ai fait imprimer la formule pour décomposer les maths - Où cela se produit est sur un ordre d'achat en attente ... pourtant cette partie du code "pips_to_ssl" est pips à vendre stop loss ... Ce qui n'est PAS utilisé pour un ordre d'achat stop en attente....
Je vous renvoie à mon message précédent
"Notez que
aura également pour résultat zéro si pips_to_bsl est zéro. Est-ce possible ?"
bsl ou ssl, même codage.