Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1759

 
Nikolay Ivanov #:

quoi, où et quand et d'où à où, la réponse est claire.

La taille du graphique en pixels est connue, le nombre de chandeliers affichés, leurs dates, les retraits sont connus, les prix max/min sont obtenus. Quel est le problème ?

 
Vitaly Muzichenko #:

Je vais essayer d'être plus précis.

La ligne doit-elle être vérifiée pour un extremum sur quelle barre à 0 ou 1 ? ou sur quelle autre barre ?

 
Andrey Sokolov #:

La taille du graphique en pixels est connue, le nombre de chandeliers, leurs dates, les retraits sont connus, les prix max/min sont obtenus. Quel est le problème ?

Je peux souligner 2 problèmes en un coup d'œil...

1) Si vous avez 1 pixel correspond à 10 points (par exemple). De combien de pixels auriez-vous besoin pour couvrir 15 points ?

2) Si l'on modifie le graphique des min et des max en le faisant défiler, ou en changeant le TF ou l'échelle, l'exigence selon laquelle le cercle doit correspondre à un nombre donné de points sera-t-elle respectée ?

 
Nikolay Ivanov #:

Je peux penser à deux problèmes...

1) Si vous avez 1 pixel correspondant à 10 points (par exemple)... Alors combien de pixels faudrait-il pour couvrir 15 points ?

2) Si le graphique des min et max est modifié par défilement, ou par changement de TF ou d'échelle, l'exigence selon laquelle le cercle doit correspondre à un nombre donné de points sera-t-elle respectée ?

1 - Pouvez-vous arrondir les nombres entiers ?

2 - Il n'est pas interdit de recalculer en fonction de l'événement sur le graphique.

Avez-vous de vrais problèmes ou des problèmes inventés ?
 
Vitaly Muzichenko #:

Je vais essayer d'être plus précis.

Moment actuel : Nous voyons 2 lignes en haut et 2 en bas.

L'un des supérieurs a donné un signal, et l'un des inférieurs a donné un signal - le deuxième en partant du bas (fracture).


Alors ? Qu'est-ce qui ne va pas avec le ZigZag ? - Il indiquera toujours la direction de la dernière pause.

et vous vous débarrasserez immédiatement de la tâche suivante - filtrer les pauses en quelques points - Réglage de la déviation


et une autre tâche future pour les personnes comme votre TS - trouver combien de barres il y a eu la rupture - dans mon exemple, vous pouvez également retourner une telle valeur.

Et encore une fois - mon code ZZ doit être transformé en une fonction séparée et calculer le ZZ pour chaque ligne à chaque tick et se souvenir pour chaque ligne de la dernière direction du ZZ et du numéro de la barre où le dernier calcul a été effectué - le calcul sera rapide, vous pouvez l'exécuter dans le testeur.



si vous voulez, faites comme ils disent sur les forums - if Buf[1] > Buf[2] && Buf[2] > Buf[3].... probablement que MA va baisser....

 
Nikolay Ivanov #:

Non, personne n'a parlé d'ajustement. Il faut que le diamètre du cercle soit toujours égal à un nombre donné de points.

J'ai peut-être mal compris, mais qu'y a-t-il de si difficile à fixer le diamètre en pips ?


 
Nikolay Ivanov #:

La ligne doit-elle être vérifiée pour un extremum sur quelle barre à 0 ou 1 ? ou sur quelle autre barre ?

A zéro.

Une des deux lignes basses = Bar[1] <Bar[0], une des deuxlignes hautes =Bar[1] >Bar[0]

Recherche le long des 2 lignes supérieures et des 2 lignes inférieures

À tout moment, il peut y avoir une rupture sur le deuxième plus haut et le premier plus bas, ou sur le plus bas et le plus haut, ou sur le premier plus haut et le deuxième plus bas. Ou sur les deux à la fois.

 
Andrey Sokolov #:

1 - Pouvez-vous arrondir les nombres entiers ?

2 - Il n'est pas interdit de recalculer à un événement sur le graphique.

1) Ce n'est pas un arrondi, c'est une erreur... et une très grosse... dans mon exemple c'est 10, mais sur certains instruments cela pourrait être 100, 1000, 10000, etc... bel arrondi...

2) Vous allez donc dire au client que c'est possible, puis faire en sorte que son processeur, 24 heures sur 24 et 7 jours sur 7, vérifie toutes les icônes de tous les graphiques à chaque seconde pour voir si la taille du cercle peut changer... + Il devra s'assurer que votre code est toujours allumé. Je pense que c'est du sabotage :)

En résumé... Au début, vous avez dit que la tâche pouvait être résolue, mais il s'est avéré que les valeurs seront approximatives et auront une grande marge d'erreur, et le code chien de garde doit être exécuté pour fixer et ajuster les valeurs en suspendant le processeur ...

Et vous pensez que cela s'appelle résoudre le problème ? Cela s'appelle saisir sans réfléchir, puis convaincre/provoquer/remettre en question que c'est bien...

 
Igor Makanu #:

Alors ? Qu'est-ce qui ne va pas avec le ZigZag ? - Il indique toujours la direction de la dernière fracture.

et vous vous débarrasserez immédiatement de la tâche suivante - filtrer les pauses en quelques points - Réglage de la déviation


et une autre tâche future pour les personnes comme votre TS - trouver combien de barres il y a eu la rupture - dans mon exemple, vous pouvez également retourner une telle valeur.

Et encore une fois - mon code ZZ doit être transformé en une fonction séparée et calculer le ZZ pour chaque ligne à chaque tick et se souvenir pour chaque ligne de la dernière direction du ZZ et du numéro de la barre où le dernier calcul a été effectué - le calcul sera rapide, vous pouvez l'exécuter dans le testeur.


si vous voulez, faites comme ils disent sur les forums - if Buf[1] > Buf[2] && Buf[2] > Buf[3].... probablement que MA baisse....

J'ai regardé à nouveau, comment l'appliquer à mon problème - je n'ai pas encore trouvé.

 
Vitaly Muzichenko #:

A zéro.

Une des deux lignes basses= Bar[1] <Bar[0], une des deux lignes hautes=Bar[1] >Bar[0].

Nous cherchons le long des 2 lignes du haut et des 2 lignes du bas.

À tout moment, il peut y avoir une rupture sur la deuxième plus haute et la première plus basse, ou sur la plus basse et la plus haute, ou sur la première plus haute et la deuxième plus basse. Ou sur les deux à la fois.

1)Recherchez les fractures sur toutes les lignes.

2) Parmi ceux où il y a une rupture, nous sélectionnons celui qui a un extremum de 0 barre...

Cet algorithme fonctionne-t-il ?