Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 502
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
La fonction passe en revue et sélectionne le plus récent en fonction du temps, c'est-à-dire le dernier.
Ensuite, nous avons une sélection, et nous la substituons dans la fonctioniBarShift(sym, tf, oot ,true);
La fonction renvoie le numéro de barre par heure. C'est tout.
Je ne peux malheureusement pas le vérifier, mais lorsque je l'ai utilisé, il a parfaitement fonctionné, ainsi que toutes les fonctions publiées ici par I. Kim.
Ecriture d'une erreur indiquantsi( iOpen[0] != time_open )'iOpen' - identifiant non déclaré
J'ai écrit quelque chose d'un peu faux, un peu dans le sens contraire de la pensée. Remplacez iOpen[0] par Open[0]. Corrigé. Pour le dire simplement. Lorsque j'ouvre un bar, je me souviens de l'heure d'ouverture du bar et aucune commande n'est déjà prise sur ce bar.
Il est également écrit dans la description de la fonction que
La sélection des positions à prendre en compte est fixée par des paramètres externes :
Il est également écrit dans la description de la fonction que
La sélection des positions à prendre en compte est fixée par des paramètres externes :
Assez. Dans les paramètres externes vous pouvez entrer les valeurs dont vous avez besoin : Majik, quelles positions vous recherchez, si vous voulez BUY(0) et SELL(1) - alors écrivez "-1".
J'ai écrit quelque chose d'un peu faux, un peu dans le sens contraire de la pensée. Remplacez iOpen[0] par Open[0]. Corrigé. Pour le dire simplement. Lorsque j'ouvre une barre, il se souviendra de l'heure d'ouverture de la barre et aucun ordre ne sera ouvert sur cette barre.
beaucoup d'ordres sont ouverts et il semble que la condition if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) avant l'ouverture d'un non-ordre soit remplie puisque NumberOfBarOpenLastPos retourne -1
beaucoup d'ordres sont ouverts, et il semble que la condition if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) soit remplie avant qu'un non-ordre ne soit ouvert, car NumberOfBarOpenLastPos renvoie -1
Si vous recherchez des ordres, vous devez utiliser la fonction dans sa version complète, c'est-à-dire avec la possibilité d'effectuer des recherches par ordres, et pas seulement par positions :
C'est suffisant. Dans les paramètres externes vous pouvez entrer les valeurs requises : Majik, quelles positions sont recherchées, peut-être seulement BUY, si BUY(0) et SELL(1) sont nécessaires - alors nous écrivons "-1".
lorsque je démarre dans le testeur, il n'y a pas d'ordres ouverts, c'est peut-être pour cela que -1 est renvoyé, ce qui explique pourquoi la condition if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) ne tient pas ?
Lorsque l'on démarre dans le testeur, il n'y a pas d'ordres ouverts, c'est peut-être pour cela que -1 est renvoyé et donc que la condition if(NumberOfBarOpenLastPos(Symbol(),0,-1,-1)>0) n'est pas remplie ?
Je vais le vérifier maintenant.
Si vous recherchez des ordres, vous devez utiliser la fonction dans sa version complète, c'est-à-dire avec la possibilité d'effectuer des recherches par ordres, et pas seulement par positions :
renvoie toujours -1
renvoie toujours -1
Cela fonctionne parfaitement !
De deux positions, il a choisi la dernière, qui se trouve à la barre 11, comme vous pouvez le voir dans la capture d'écran :
Vérifiez le code :