Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 690

 
Forexman77:

J'ai eu l'idée d'utiliser "ENUM_APPLIED_PRICE"dans l'indicateur, c'est-à-dire d'utiliser différents prix de cette énumération.

Je ne trouve pas d'exemples pour prendre PRICE_HIGH[i] et le transmettre à l'indicateur pendant l'optimisation au lieu de Close[i].

Ou au moins High[i] au lieu de Close[i]

Plusieurs indicateurs et les opérations mathématiques nécessaires sur ceux-ci résoudront probablement ce problème.
 
_new-rena:
Quelques indicateurs et le travail mathématique nécessaire sur ceux-ci pourraient résoudre ce problème.
Dans le MA standard, il y a un passage de cloze à max, min, etc., mais je ne trouve pas le fichier avec le code dans le dossier.
 
Forexman77:
Le MA standard a un commutateur de cloz à max, min, etc., mais je ne peux pas trouver le fichier de code dans le dossier.
iMA
 
_new-rena:

Mais il n'y a pas de paramètres sur lesquels vous pouvez agir.

Laméthode de lissage est passée sans problème

extern ENUM_MA_METHOD MA_Method=MODE_SMMA;

Et ici si

extern ENUM_APPLIED_PRICE price= PRICE_CLOSE;
for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=price[i];

requiert un tableau "[' - array required".

 
Forexman77:

Mais il n'y a pas de paramètres sur lesquels vous pouvez agir.

La méthode de lissage est passée sans problème

Et ici si

requiert un tableau "''['' - array required''.


Il n'y a besoin de rien, tout est optimisé - tant la méthode que le prix. Pourquoi avez-vous besoin d'une boucle avec un tableau ? Passez l'énumération de l'EA à l'indicateur et tout ira bien.


 
evillive:

Il ne nécessite rien, tout est optimisé - tant la méthode que le prix. Pourquoi avez-vous besoin d'une boucle avec un tableau ? Passez l'énumération du conseiller expert à l'indicateur et tout ira bien.

Bon sang, je suis un peu confus. Je n'ai pas besoin de la MA. J'ai besoin d'obtenir le prix dans le cycle de calcul de l'indicateur pour calculer l'indicateur. Voici le Close[i] - Close[i+5],

Comment le passer à l'indicateur au lieu de Close[i] être par exemple Low[i] , les prix moyens pondérés et les médianes ne sont pas si importants - ils peuvent être calculés.

C'est-à-dire optimiser par maxima, minima et fermeture.

 
Forexman77:

Bon sang, je suis un peu confus. Je n'ai pas besoin de la MA. J'ai besoin d'obtenir le prix dans le cycle de calcul de l'indicateur pour calculer l'indicateur. Voici le Close[i] - Close[i+5],

Comment le passer à l'indicateur au lieu de Close[i] être par exemple Low[i] , les prix moyens pondérés et les médianes ne sont pas si importants - ils peuvent être calculés.

En d'autres termes, nous pouvons les optimiser par maxima, minima et fermeture.


Ensuite, nous devons créer un tableau et maîtriser CopyClose, CopyOpen, CopyHigh, CopyLow - pour copier le prix approprié dans le tableau.

ou apprendre à travailler avec des classes et autres nouveautés du nouveau langage, Indicator.mqh comme exemple fera
.

 
evillive:

Ensuite, nous devons créer un tableau et maîtriser CopyClose, CopyOpen, CopyHigh, CopyLow - pour copier le prix approprié dans le tableau.

Ou encore des master classes et autres nouveautés de la nouvelle langue, l' Indicator.mqh inluder fera l'affaire à titre d'exemple

Je vois, je vais y réfléchir, il y a quelques exemples dans MQL5, en attendant je dois les modifier manuellement.
 
Forexman77:
Je vois, je vais y réfléchir, il y a des exemples dans MQL5. En attendant, je vais le modifier manuellement.

Si quelqu'un en a besoin, j'ai trouvé comment dessiner un indicateur par type de prix sans constructions compliquées :

extern int price=1;//1=Close, 2=High, 3=Low, 4=PRICE_MEDIAN_, 5=PRICE_TYPICAL_, 6=PRICE_WEIGHTED_

for(i=limit1;i>=0;i--) 
   {
   if (price == 1)ExtMapBuffer1[i]=Close[i];//Close
   if (price == 2)ExtMapBuffer1[i]=High[i];//High
   if (price == 3)ExtMapBuffer1[i]=Low[i];//Low
   if (price == 4)ExtMapBuffer1[i]=((High[i]+Low[i])/2);//PRICE_MEDIAN_
   if (price == 5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//PRICE_TYPICAL_
   if (price ==6){ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i]+Close[i])/4);//PRICE_WEIGHTED_
   }
 
Forexman77:

Si quelqu'un en a besoin, j'ai trouvé comment faire un rendu d'indicateur de type prix sans constructions compliquées :


Petite erreur : 0=Close, 1=Open, le reste est correct.