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
ilunga:
P.S. Ai-je raison de supposer que dans mon (et votre) code bar_info[1] est le maximum de la barre actuelle ?
Personne n'a parlé du bar actuel. :)
Je viens de refaire ton exemple. Si tu veux exactement la barre actuelle, tu dois le faire :
1. définir la direction de la série de tableaux (0 bar - courant ou le plus haut).
Si, comme dans notre cas, le tableau est déplacé, vous pouvez le faire une fois dans le bloc d'initialisation. Si nous cachons le tableau dans une fonction, nous le définissons sur place.
2) Si le tableau est déclaré comme une série, la barre actuelle sera zéro, et celle qui l'a précédée sera 1.
Du moins, d'après mes souvenirs.
J'ai peut-être manqué quelque chose, mais pour ouvrir sur la barre actuelle (en tenant compte de tous les ajouts), cela devrait être comme ceci.
Déplacez le tableau vers la fonction !
Et personne n'a rien dit à propos de l'actuel. :)
Je viens de retravailler ton exemple. Si tu as besoin de l'actuel, tu dois le faire :
1) Définir la direction de la série de tableaux (0 barre - actuelle ou la plus récente).
Si, comme dans notre cas, le tableau est déplacé, vous pouvez le faire une fois dans le bloc d'initialisation. Si nous cachons le tableau dans une fonction, nous le définissons sur place.
Si le tableau est déclaré comme une série, la barre actuelle sera zéro, et la barre fermée avant sera 1.
Du moins, comme je m'en souviens.
J'ai étendu le tableau à 3 éléments. J'ai un décalage entre le prix actuel et ce qu'il y a dedans. C'est très probablement la raison.
Résultats (les tests ont été effectués sur GBPUSD) :
Nous obtenons que l'offre et la demande sont toutes deux supérieures au maximum de zéro et supérieures au maximum de la deuxième barre.
Si nous exécutons le test sur l'EURUSD, tout est OK :
J'ai l'impression que lors du test de la paire "pas mon" la situation "les informations sur les barres ont été mises à jour, mais le tick est encore absent".
J'ai étendu le tableau à 3 éléments. J'obtiens une incohérence entre le prix actuel et le contenu du tableau. C'est très probablement la raison.
Résultats :
Nous obtenons que l'offre et la demande sont toutes deux supérieures au maximum de la barre zéro et supérieures au maximum de la deuxième barre.
Vous ne tenez pas compte de la sérialité des tableaux, dans votre code. Personne ne peut garantir qu'avec ce résultat, le bar 0 ne sera pas, disons, en l'an 2000.
J'ai donné le code ci-dessus, il convient pour toutes les TFs dans la variante du tableau.
Ce code est là pour une raison.
Si vous n'avez besoin que d'un intervalle de temps quotidien (D1 ) pour identifier le maximum de la barre, vous n'avez pas besoin de vous occuper du tableau, il suffit de changer la première partie de la fonction par celle-ci
Vous ne tenez pas compte de la sérialité des tableaux dans votre code. Personne ne peut garantir qu'à ce stade, la barre de 0 ne sera pas en 2000.
J'ai donné le code ci-dessus, il convient pour toutes les TFs dans la variante du tableau.
Ce code est là pour une raison
Vous ne tenez pas compte de la sérialité des tableaux dans votre code. Personne ne peut garantir qu'à cette issue, le bar 0 ne sera pas en l'an 2000, par exemple.
J'ai donné le code ci-dessus, il convient pour toutes les TFs dans la variante du tableau.
Ce code est là pour une raison.
Ok, rendez le tableau dynamique.
Au lieu de xxx, nous mettons vrai et faux.
Les résultats :
и
L'ordre dans le tableau est modifié, le résultat ne l'est pas. L'offre est supérieure à la [0]-ième barre maximale du tableau.
ArraySetAsSeries uniquement pour les tableaux dynamiques?
Je ne m'en souviens pas pour être honnête. Mais le résultat du code que j'ai cité ci-dessus coïncide avec celui que nous obtenons (pour EUR le prix ouvert est de 1.24516 pour GBP 1.56721)
Mais oui, cela fonctionne bien sans ArraySetAsSeries à ce stade.
PS
C'est-à-dire que si vous voulez obtenir la barre actuelle, vous copiez inutilement trois barres dans le tableau sur cette ligne.
PS
Par exemple, si vous avez besoin d'obtenir la barre actuelle, vous devez absolument copier trois barres dans cette ligne vers le tableau.
Merci ! Cette option fonctionne sans erreur et est tout à fait suffisante dans ce cas.
Cependant, la question laissée en suspens juste au-dessus est de savoir comment l'offre peut être supérieure au maximum =(
ilunga:
Cependant, la question laissée en suspens ci-dessus est de savoir comment l'offre peut être supérieure au maximum =(
Tout d'abord, nous devons déterminer pour quelle période ce maximum est pris.
Si le tableau est déclaré comme double bar_info[n], la barre actuelle sera l'indice le plus élevé.
si n = 2 ce code fonctionnera avec la barre quotidienne d'hier
et celui-ci avec la barre actuelle
Par exemple, si vous copiez plusieurs barres, vous devriez organiser quelque chose comme ceci pour obtenir la barre actuelle (bien que vous puissiez avoir besoin de vérifications supplémentaires pour savoir combien de barres ont été copiées dans le tableau).
La première chose à faire est de définir la période sur laquelle ce maximum est pris.
Si le tableau est déclaré comme double bar_info[n], la barre actuelle sera l'indice le plus élevé.