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
Quoi qu'il en soit, merci, je vais devoir me documenter davantage sur le sujet, je m'en approche mais c'est encore un peu flou :)
Il semble que je mette trop de temps à apprendre les choses. Je pense que je dois lire plus de codes d'autres personnes et essayer de les comprendre pour avoir de meilleures idées de conception.
Merci pour la réponse.
Il y a 2 tampons (tableaux) qui contiennent les valeurs de prix des fractales ... val1 & val2. Si vous voulez trouver les valeurs fractales précédentes, il vous suffit de boucler, en incrémentant une valeur de décalage, et de vérifier les valeurs de la mémoire tampon jusqu'à ce que vous trouviez celles qui ne sont pas EMPTY_VALUE ( https://docs.mql4.com/customind/SetIndexEmptyValue ).
Donc je peux reboucler v1[i] et v2[i] avec un code 1++,
Je ne comprends pas pourquoi val1>0 n'est pas toujours supérieur à 0 sauf pour High[0] ?
Et pourquoi val1 ne marque que la fractale haute et pas toutes les hautes[i] AHHH je pense que je comprends parce que l'instruction if lui dit de ne faire que les hautes[i].
Alors ok, laissez-moi réfléchir encore un peu.
val1 est la fractale, mais v1[i] est seulement le haut de la fractale ok je pense que j'ai résolu cette partie.
Donc je pourrais boucler v1[i] 1++ d'une manière ou d'une autre (je dois travailler cette partie) jusqu'au point précédent avant le EMPTY_VALUE et ce serait la fractale High[i] précédente.
Est-ce que je me rapproche ?
Ok, je réfléchis à voix haute là :
val1 est la fractale, mais v1[i] ne sont que les hauts de la fractale ok je pense que j'ai compris cette partie.
Donc je pourrais boucler v1[i] 1++ d'une manière ou d'une autre (je dois travailler cette partie) jusqu'au point précédent avant le EMPTY_VALUE et ce serait la fractale High[i] précédente.
Est-ce que je me rapproche ?
Correct . . . :-)
Merci
Quoi qu'il en soit :
Je pensais que la boucle for m'aurait ramené à un seul signal et aurait imprimé le niveau du signal pour moi, mais je n'obtiens rien ou 0.
Après quelques jours de réflexion et d'essais, j'ai essayé d'apporter ces modifications à la version de l'indicateur en ajoutant un troisième tampon et en essayant de signaler le prix sur les graphiques, mais cela n'a pas marché non plus.
Eh bien, attendez, je retire ce que j'ai dit, la version courte de l'EA n'a pas le tampon EMPTY_VALUE, donc cela ne va probablement pas fonctionner de toute façon, et donc l'idée était de tester l'EA pour que je puisse voir les fonctions d'impression pour voir les résultats, mais la version de l'indicateur, je devrais attendre, donc je dois revenir sur ce point.
J'ai abandonné l'idée de créer un troisième tampon / signal pour le moment et je veux juste voir si je peux imprimer le résultat du signal précédent.Quoi qu'il en soit, voici la version de l'indicateur, mais je ne me sens pas confiant car je ne sais pas exactement si je dois essayer de boucler à l'intérieur de l'instruction while ou créer une nouvelle boucle et recréer également val1 = .....
EMPTY_VALUE la façon dont j'ai mis le code initialise l'indicateur, mais c'est tout, rien n'est imprimé.
Pouvez-vous m'expliquer comment fonctionne cette boucle for ?
for(val1=High[i] ; v1[i] == 0 ;i++)
Pouvez-vous m'expliquer comment fonctionne cette boucle for ?
for(val1=High[i] ; v1[i] == 0 ;i++)
Je pensais que cela incrémenterait i++ d'un niveau jusqu'au plus haut précédent, mais en fait, je pense que cela irait au-delà jusqu'au prochain EMPTY_VALUE.
Donc j'ai besoin de faire ça dans le sens inverse v1[i] = High[i] ; i++
Alors cela ne devrait-il pas m'amener au sommet précédent, mais je ne suis pas sûr de savoir comment l'initialiser correctement.
Je vais continuer à travailler dessus.
Tout ce que j'obtiens, ce sont des 0, donc il n'y a en fait AUCUNE valeur lorsque = Print (v1[i]) ;
Ce qui est étrange car comment l'indicateur peut-il fonctionner à ce stade ?
Oh bien, je vais continuer.
Je suis en train de le changer en un if( Je veux juste voir n'importe quoi s'imprimer à ce stade pour que je puisse au moins voir ce que fait l'indicateur.
Tout ce que j'obtiens, ce sont des 0, donc il n'y a en fait AUCUNE valeur lorsque = Print (v1[i]) ;
Ce qui est étrange car comment l'indicateur peut-il fonctionner à ce stade ?
Oh bien, je vais continuer.
Peut-être que vous ne voyez que les valeurs de v1[0] ? print i en même temps ....
Je n'ai pas tout affiché mais toutes les lignes se lisent de la même façon = 0
Je pensais que je devrais toujours voir une valeur réelle pour v1[0] ?
comment peut-il être toujours 0 alors que l'indicateur doit être if(>0) ?
Je suis peut-être en train d'entrer dans un autre domaine que je ne connais pas.
J'ai pensé que je pourrais être en mesure d'imprimer afin d'essayer de comprendre ce qui se passe et pourquoi toutes mes tentatives échouent ; et afin que je puisse incrémenter i++ d'une certaine manière pour obtenir la prochaine fractale et ensuite trouver comment utiliser cette information pour quelque chose.
Je peux imprimer High[i] ou v1[i] et c'est toujours 0
Impression de High[0] ou High[1] également 0
Bien que je comprenne ce que vous avez posté et l'impression de la valeur i qui semble être bloquée à cause de la boucle i-- qui l'amène toujours à 0, mais même ainsi il devrait toujours imprimer une valeur pour i, du moins je le pensais.
Et je comprends pourquoi il imprime [-1] parce que i=Bars. Je comprends, mais =0 ?