SEULEMENT BOUGIE / BAR - Comment cataloguer ou séparer les bougies ? - VEUILLEZ ME CORRIGER ! - page 4
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
J'ai l'impression que nous perdons un peu le contrôle du code. ....
Non, ce n'est certainement pas le bon endroit.
Cette "gestion des erreurs" n'améliore en rien la situation. Vérifiez à nouveau.
Ce n'est pas créé pour le plaisir ! Il doit être utilisé pour réinitialiser les drapeaux exécutés sur une nouvelle barre.
Qu'avons-nous appris sur la comparaison des doubles et si cela a un sens ici ?
Vous avez donc décidé de supprimer votre message auquel je fais référence... Bravo, c'est très utile !
Désolé mais hier il y a eu un problème avec internet (mql4.com ne fonctionne plus). J'ai essayé de corriger quelque chose et ... effondrement
Il n'est pas facile de vous aider. Pourquoi n'essayez-vous pas d'implémenter une seule stratégie pour le moment, mais avec unefonction appropriée, Open(), Close(), Count(), NewBar(), Signal().
Le bloc ci-dessous est en dehors de la fonction de démarrage. Je ne suis pas sûr que ce soit souhaité.
Je pense la même chose que vous, des petits pas. Prenons une seule option BULL4
Parfois, il ressemble à Ea pour mon codebase.
https://www.mql5.com/en/code/9156 - intéressant
Je les comprends (mais je ne les ressens pas), c'est un drapeau etje comprends son but.
Que pensez-vous des petits pas?
Oui, de petits pas, donc les erreurs sont gérables...
Voulez-vous mettre en évidence quelque chose de spécifique de la base de code EA ?
Je ne reverrai pas ce problème - je ne vous aiderai plus si vous continuez à ignorer les étapes de correction que j'ai - ou que quelqu'un d'autre - vous a conseillé de suivre :
Le glissement est de 0 ? Vous obtiendrez probablement une erreur, mais le traitement de l'erreur fixe la rattrapera :-)
Ce n'est pas faux, mais ce n'est pas idéal et dans le pire des cas, cela n'apporte pas ce que vous voulez dans la boucle. Au mieux, ne commencez même pas à utiliser des boucles de 0 à OrdersTotal. Lisez ceci : Boucles et fermeture ou suppression de commandes
Quel est le spread de votre courtier et combien de chiffres avez-vous pour le symbole que vous voulez négocier ? Je ne suis pas sûr que vous utilisiez correctement Point (lire sur la première page de votre fil).
Oui, de petits pas, donc les erreurs sont gérables...
Voulez-vous souligner quelque chose de spécifique de la base de code EA ?
Je pense que non, rien à éclaircir, je comprends ce que j'ai écrit.
Je ne le reverrai pas - je ne vous aiderai plus si vous continuez à ignorer les étapes de correction que je - ou quelqu'un d'autre - vous a conseillé de faire :
Oui. Je sais ce que fait NormalizeDouble, je pense que j'ai compris ( si j'ai : euro/usd = 1.2390022129.....09.... Et nous avons besoin de : 1,29893 end ! pas l'infini ) mais je n'arrive pas à écrire ça, est-ce que ça pourrait être ça ?
if ( NormalizeDouble ( abc(),0 ) )
Si ( NormalizeDouble ((Close[1]-Bid) +3*point),0 ) ;
Le glissement est de 0 ? Vous obtiendrez probablement une erreur, mais le traitement d'erreur fixe l'attrapera :-)
Je peux avoir +1 sans problème result=OrderSend(Symbol(),OP_BUY,0.41,Ask, 1 ,Close[1]-25*Point,0,"",MAGICMA1,0,Blue) ;
la gestion des erreurs, bien, nous voyons ce qu'il y aura après
Cette méthode n'est pas mauvaise, mais elle n'est pas idéale et, dans le pire des cas, elle ne fait pas ce que vous voulez dans la boucle. Au mieux, ne commencez même pas à utiliser des boucles de 0 à OrdersTotal. Lisez ceci : Boucles et fermeture ou suppression des commandes
TRES BON ARTICLE ! Je devrais les lire dès le début :)
Quel est le spread de votre courtier et combien de chiffres avez-vous pour le symbole que vous voulez négocier ? Je ne suis pas sûr que vous utilisiez correctement le point (lu sur la première page de votre fil de discussion).
Je me souviens de ceux-ci. J'ai Admiral Market Bid=1,29000 Ask = 1,29001. C'est un problème que je connais, mais je n'ai pas de résolution en ce moment, je n'ai pas trouvé le bon exemple.
Je suis en train d'écrire un code...
Oui. Je sais ce que fait NormalizeDouble, je pense que je comprends ( si j'ai : euro/usd = 1.2390022129.....09.... Et nous avons besoin de : 1,29893 fin ! pas l'infini ) mais je ne peux pas écrire ces, pourrait être ceux-ci ?
if (NormalizeDouble( abc(),0 ) )
Vous ne pouvez pas NormalizeDouble() un bool, l'indice est dans le nom de la fonction et dans la documentation aussi . . .
Vous ne pouvez pas normaliser un bool avec NormalizeDouble(), l'indice se trouve dans le nom de la fonction et dans la documentation.
C'est dommage que nous ne puissions pas normaliser le vrai pour qu'il soit très vrai :-(
Oui. Je sais ce que fait NormalizeDouble, je pense que je comprends ( si j'ai : euro/usd = 1.2390022129.....09.... Et nous avons besoin de : 1,29893 fin ! pas l'infini ) mais je ne peux pas écrire ces, pourrait être ceux-ci ?
Non, vous n'avez pas à normaliser Bid ou Close[1]. Ce que je voulais dire, c'est que vous ne devez pas les comparer pour l'égalité.
Imaginez :
Close[1] = 1,31933
Nouvelle_Barre
Tick1, Bid = 1.31935
Tick2, Bid = 1.31934
Tick3, Bid = 1.31937
Tick4, Bid = 1.31937
Tick5, Offre = 1.31942
Votre code recherche bien un tick où Bid est 1.31936.
Vous manquerez votre signal. Cela ne se produira pas si vous utilisez > .
Je peux avoir +1 sans problème result=OrderSend(Symbol(),OP_BUY,0.41,Ask, 1 ,Close[1]-25*Point,0,"",MAGICMA1,0,Blue) ;
Cela ne l'améliore pas beaucoup. D'après ce que j'ai compris, tous vos calculs en Points devraient être des Pips. Cependant, je n'ai pas d'expérience avec les courtiers ECN, donc cela pourrait fonctionner.
Ce n'est pas mauvais, mais pas idéal et dans le pire des cas, cela ne fait pas ce que vous voulez à l'intérieur de la boucle. Au mieux, ne commencez même pas à utiliser des boucles de 0 à OrdersTotal. Lisez ceci : Boucles et fermeture ou suppression de commandes
TRÈS BON ARTICLE ! Je devrais les lire dès le début :)
D'accord et il y a beaucoup de très bons articles plus, écrit par le même auteur. Aussi le livre n'est pas un mauvais endroit pour commencer.
J'ai Admiral Market Bid=1,29000 Ask = 1,29001. C'est un problème que je connais, mais je n'ai pas de résolution en ce moment, je n'ai pas trouvé le bon exemple.
Sur le site de votre courtier, il est indiqué que pour l'EURUSD, le spread minimal est de 0,1. Le spread moyen est de 0,5. <-- Ceci est exprimé en pips ! Donc 0,1 est 1 point. 0,5 correspond à 5 points.
Donc dans votre cas, un Pip est 10*Point. Le spread va confondre tous vos mini calcul où vous n'ajoutez que 3 points à un prix.
Cherchez "adjust for 5 digit broker" et vous devriez trouver de nombreux exemples.
HI :)
Si ce code était mauvaisparce que je passais des signaux, il s'est amélioré.Je pense que le problème est entièrement à un autre endroit, pas dans le signe d' égalité '=='......... le '>=' est une meilleure idée bien sûr.
Question 1. Dois-je utiliser MyPips dans la bougie, dans ces fonctions ? bool BULL4()
Problème de DIGIT.
J'ai trouvé ceci
https://www.mql5.com/en/forum/140097 par WHRoeder
https://www.mql5.com/en/forum/123736 par WHRoeder
Qu'est-ce que Digit ? dans https://docs.mql4.com/predefined/variables/digits et https://docs.mql4.com/convert/doubletostr
Parce que vous êtes l' expert, j'aurais dû dire quelque chose, cela pourrait être important.
Maintenant, j'utilise laplate-forme MT4 et je vois 4 chiffres après la virgule (Bid-Ask= 0,0001 habituellement). Pour le moment, nous avons programméen MQL4 et nous laissons faire.
Dans MT5, je vois5 chiffres après la vir gule. Il y a unedifférence entre MQL4 etMQL5. Pour le moment, cette différence n'a pasd'importance pour moi. Il est importantque notre EA fonctionne bien.
Je ne veux pas en parler pour le moment (sauf si nécessaire).
Et j'ai écrit un programme pour moi, c'est bien :) et vous ?