Analogue à iBarShift - page 8

 
Vitaly Muzichenko:

J'ai vérifié rapidement : il y a une fonction qui fonctionne depuis plus d'un jour, j'ai substituéiBarShift3 à la place et j'ai obtenu un fonctionnement incorrect de l'EA. C'est la conclusion que j'en ai tirée.

Voici celui que j'utilise

Essayez de faire ça avec votre fonction :

Print("iBarShift1 = "+IntegerToString(iBarShift (_Symbol,PERIOD_H1,D'04.04.2018 08:00:01')));
Print("iBarShift0 = "+IntegerToString(iBarShift (_Symbol,PERIOD_H1,D'04.04.2018 08:00:00')));

Votre fonction donnera des valeurs différentes, mais l'heure est la même. Cela signifie qu'il ne fonctionne pas.

La fonction native de MQL4 donne les mêmes valeurs.

iBarShift3 donne également les mêmes valeurs, mais pour les périodes D1, W1 et MN1, il est également faux. Je dois modifier le code un peu. Je sais comment faire et je le ferai plus tard quand j'aurai assez de temps.

Sinon, ces fonctions se comportent de la même manière, seul iBarShift3 est beaucoup plus rapide.


ZS : Désolé. Votre fonction fonctionne correctement. J'ai mis le mauvais code. C'est le mien qui ne se comporte pas correctement sur les périodes D1,W1 et MN1. Je vais le réparer aujourd'hui.

 
Je suis déjà confus par les piliers de programmation - alors quelle fonction compte maintenant exactement tout sur toutes les TF ?
 
Aleksey Vyazmikin:
Je suis déjà confus par les piliers de programmation - alors quelle fonction compte exactement sur toutes les TF de nos jours ?
Logiquement, la fonction la plus lente semble avoir raison :-)
 
Aleksey Vyazmikin:
Je suis déjà confus par les piliers de programmation - alors quelle fonction compte maintenant exactement tout sur toutes les TF ?
https://www.mql5.com/ru/forum/743/page7#comment_6995147
 
Aleksey Vyazmikin:
Je suis déjà confus par les piliers de programmation - alors quelle fonction compte exactement sur toutes les TF de nos jours ?
Et est-ce que tout fonctionne correctement lorsqu'il y a des sauts de barre !
 
Yury Kirillov:
Si vous regardez la logique, le plus lent semble avoir raison :-)

Non, le plus lent n'est pas correct, à en juger par l'indicateur posté précédemment.

Yury Kirillov:
Et est-ce que toutes ces mesures fonctionnent correctement lorsqu'il y a des trous dans les barres !

C'est très important, car parfois le temps passe et il n'y a pas de barre, surtout sur les petites TF, alors le nombre de barres avec les minutes peut être différent selon les jours...

 
Vitaly Muzichenko :

J'ai vérifié rapidement : il y a une fonction qui fonctionne depuis plus d'un jour, j'ai substitué iBarShift3 à la place et j'ai obtenu un fonctionnement incorrect de l'EA. C'est la conclusion que j'en ai tirée.

Voici celui que j'utilise

Voici mon code. Des problèmes ?

 
Nikolai Semko :
...

Tous les algorithmes qui étaient disponibles auparavant, y compris celui d'@Alain Verleyen, présentent des situations anormales.

Vous pouvez créer un analogue complet de iBarShift MQL4, mais le code sera très lourd et je n'y vois aucun intérêt.

Quel problème avez-vous trouvé ?

 
Alain Verleyen:

Quel problème avez-vous détecté ?

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

iBarShift Analogue

Nikolai Semko, 2018.04.04 17:47

Essayez de faire ça avec votre fonction :

Print("iBarShift1 = "+IntegerToString(iBarShift (_Symbol,PERIOD_H1,D'04.04.2018 08:00:01')));
Print("iBarShift0 = "+IntegerToString(iBarShift (_Symbol,PERIOD_H1,D'04.04.2018 08:00:00')));

Votre fonction donnera des valeurs différentes, mais l'heure est la même. Donc ça ne marche pas.

Dans MQL4, la fonction native donne les mêmes valeurs.

iBarShift3 donne également les mêmes valeurs, mais pour les périodes D1, W1 et MN1, il se trompe également. Je dois modifier le code un peu. Je sais comment faire et je le ferai plus tard quand j'aurai assez de temps.

Sinon, ces fonctions se comportent de la même manière, seul iBarShift3 est beaucoup plus rapide.


ZS : Désolé. Votre fonction fonctionne correctement. J'ai mis le mauvais code. C'est le mien qui ne se comporte pas correctement sur les périodes D1,W1 et MN1. Je vais le réparer aujourd'hui.


 
Vitaly Muzichenko :

Merci.
Raison: