[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 711

 
miha-28:

Bonjour messieurs. Question, s'il existe une fonction ou quelque chose pour déterminer comment les positions précédentes ont clôturé avec plus ou moins ????. Si le sujet a déjà été abordé , retirez le lien. Merci d'avance....


https://www.mql5.com/ru/forum/107476/page21#79649

https://www.mql5.com/ru/forum/107476/page21#79908

 
Il existe un tableau PeakUP[]. Nous y inscrivons les valeurs des extrema dans la boucle. Si sur la sortie après la boucle, la taille du tableau ==1 (c'est-à-dire si une seule valeur est trouvée), nous faisons une boucle supplémentaire pour rechercher des valeurs et ajouter les valeurs supplémentaires trouvées au même tableau. Je fais ce qui suit :
BubleUP=TempIND[i-2];               // Возьмём значение "бугорка" - Это найденное дополнительное значение, которое нужно вписать в массив
                              
asize=ArraySize(PeakUP);           // Размер массива значений пичков... (именно он содержит только одно значение, а нужно минимум два)
ArrayResize(PeakUP, asize+1);       // ... увеличим его на 1
PeakUP[0]=BubleUP;                  // ... и впишем в него значение "бугорка"

Dans la sortie après toutes ces manipulations dans l'impression nous voyons :

PeakUP Size = 3 - cela signifie que deux valeurs supplémentaires ont été trouvées et que la taille du tableau des pics a augmenté à 3 - tout est correct ici, suivant :
PeakUP[0] = 49,9119 - c'est la valeur trouvée lors de la recherche de valeurs supplémentaires. ici il devrait être ; suivant :
PeakUP[1] = 0 - ceci devrait être la valeur du premier extrema trouvé (environ 82 pennies)
PeakUP[2] = 0 - ceci devrait être la valeur d'un seul extrême trouvé (environ 173 pennies)

Question - où ai-je perdu deux valeurs ? Et en général - est-ce que j'essaie de les mettre correctement ? Le code remplissant initialement le tableau PeakUP avec des valeurs d'extrema fonctionne correctement,
la deuxième partie - ajout répété de valeurs supplémentaires au tableau - ne fonctionne pas.

Pouvez-vous me dire ce qui ne va pas ?

 
artmedia70:


Question - où ai-je perdu deux valeurs ? Et en général - est-ce que j'essaie de les mettre correctement ? Le code qui remplit initialement le tableau PeakUP avec les valeurs extrêmes fonctionne correctement,
la deuxième partie - l'ajout répété de valeurs supplémentaires au tableau - ne fonctionne pas.

Veuillez me dire ce qui ne va pas.



C'est ça, pas besoin, merci, j'ai tout réglé...
 
cyclik33:

S'il vous plaît, dites-moi comment faire. J'ai essayé de le copier comme un rapport, mais il donne dans htm et ne montre pas le nombre de trades perdants dans une rangée tout de même.

Je n'ai pas besoin de copier quoi que ce soit. Dans deinit() est inséré le code nécessaire qui analyse les résultats et les enregistre dans le fichier. J'utilise parfois cette méthode lorsque je dois obtenir mon propre critère d'optimisation.
 
Je n'arrive pas à comprendre. J'ai juste besoin de visualiser les calculs en plaçant des points sur le graphique de l'indicateur AD aux endroits où se trouvent les extrema.
La fonction
bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)
Je suis perplexe... :(

Il est écrit noir sur blanc que OBJ_ARROW n'utilise qu'une seule coordonnée. LAQUELLE ? ?? Où dois-je prendre la valeur de la date dans l'indicateur ? Ou dois-je le mémoriser en même temps que l'extremum trouvé ? Bref, une montagne de questions et d'incompréhension, et je n'ai pas trouvé de réponse sur le site, sauf pour travailler avec d'autres types d'éléments graphiques...

Aidez-nous, montrez-nous du doigt, s'il vous plaît... :)

 
artmedia70:

Il est écrit noir sur blanc que OBJ_ARROW n'utilise qu'une seule coordonnée. LAQUELLE ? ?? Où puis-je obtenir la valeur de la date dans l'indicateur ? Ou dois-je le mémoriser en même temps que l'extremum trouvé ? Bref - une montagne de questions et d'incompréhensions, je n'ai pas trouvé de réponse sur le site, sauf pour travailler avec d'autres types d'éléments graphiques...

Au secours, montrez-nous du doigt, s'il vous plaît... :)

Lorsqu'un extremum est trouvé, il est situé à une certaine barre et vous le collez :

datetime time1=valeur extrême, double price1=Time [numéro de barre].

 
Roger:

Lorsque vous trouvez un extremum, il se trouve à une certaine barre, donc vous l'insérez :

datetime time1=valeur extrême, double price1=Time[numéro de barre]

Non, je recherche les extrema sur le graphique de l'indicateur, dans ce cas A/D.
 
artmedia70:

Il est écrit noir sur blanc que OBJ_ARROW n'utilise qu'une seule coordonnée. LAQUELLE ? ??

Il s'agit d'une inexactitude dans l'Helpe. Bien sûr, pas une coordonnée, mais un point (qui a deux coordonnées).
 
Mathemat:
Il s'agit d'une inexactitude dans Helpe. Bien sûr, pas une coordonnée, mais un point (qui a deux coordonnées).

Merci, Alexey, la moitié a été clarifiée :) Maintenant, je veux savoir comment prendre et où obtenir ces coordonnées pour les dessiner sur le graphique indicateur. Le graphique des prix est clair et compréhensible, mais l'indicateur est un désordre...
 

Un graphique d'un indicateur ? C'est essentiellement la même chose. Les extrêmes ne sont que sur les barres de toute façon, pas entre elles.

L'inducteur est une fenêtre séparée (si vous le dessinez séparément, en dessous de la fenêtre de prix). Cette fenêtre a les mêmes coordonnées - valeur de l'indicateur et heure.

Raison: