Discussion de l'article "MQL5 pour les débutants : Guide d'utilisation des indicateurs techniques dans Expert Advisors" - page 2

 
Pour les débutants, cet article suffit à illustrer l'utilisation des indicateurs.
 
Pourriez-vous me dire comment, dans un indicateur, par exemple, dans la rubrique
Bands_handle=iBands(NULL,0,144,0,2,PRICE_CLOSE);

changer PRICE_CLOSE à la valeur de "l'indicateur précédent", qui est écrit manuellement.
Dans le terminal, il peut être sélectionné, mais comment écrire dans le code, je ne comprends pas.
Le manuel dit que Handle est nécessaire, mais je n'ai qu'un tampon.
S'il vous plaît, aidez-moi.

 
Григорий Муратов #:
Pourriez-vous me dire comment changer PRICE_CLOSE dans un indicateur, par exemple dans l'indicateur

changer PRICE_CLOSE à la valeur de "l'indicateur précédent", qui est écrit manuellement.
Dans le terminal, il peut être sélectionné, mais comment écrire dans le code, je ne comprends pas.
Le manuel dit que Handle est nécessaire, mais je n'ai qu'un tampon.
S'il vous plaît, aidez-nous.

Regardez l'article https://www.mql5.com/ru/article s/15

Индикатор от индикатора в MQL5
Индикатор от индикатора в MQL5
  • www.mql5.com
При написании индикатора, который использует краткую форму вызова функции OnCalculate(), можно упустить то обстоятельство, что индикатор может рассчитываться не только на ценовых данных, но и на данных другого индикатора (встроенного или пользовательского - не имеет значения). Вы хотите улучшить индикатор, чтобы он правильно считался не только на ценовых данных, но и значениях другого индикатора? В этой статье мы по шагам пройдем все необходимые этапы такой модификации и выведем дополнительные полезные правила для правильного написания индикатора.
 
Rashid Umarov #:

Consultez l'article https://www.mql5.com/ru/article s/15

Merci pour le lien, mais il est dit dans les commentaires que le code est obsolète. J'essaierai d'y jeter un coup d'œil
 

Григорий Муратов #:
Подскажите пожалуйста, как в индикаторе, например в 

Bands_handle=iBands(NULL,0,144,0,2,PRICE_CLOSE);

changer PRICE_CLOSE à la valeur de "l'indicateur précédent", qui est écrit manuellement.
Dans le terminal, il peut être sélectionné, mais je ne comprends pas comment l'écrire dans le code.
Le manuel dit que Handle est nécessaire, mais je n'ai qu'un tampon.
S'il vous plaît, aidez-moi.

Si vous regardez la documentation https://www.mql5.com/ru/docs/indicators/ibands -- la spécification est la suivante :

int  iBands(
   string              symbol,            // nom du personnage
   ENUM_TIMEFRAMES     period,            // période
   int                 bands_period,      // période de calcul de la ligne moyenne
   int                 bands_shift,       // indicateur décalé horizontalement
   double              deviation,         // nombre d'écarts types
   ENUM_APPLIED_PRICE  applied_price      // type de prix ou poignée
   );

-- "price type or handle" -- ici au lieu de PRICE_CLOSE vous pouvez écrire le handle d'un indicateur personnalisé.

Par exemple :

MA_Custom_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",
                     MA_Period,
                     MA_Shift,
                     MA_Method,
                     PRICE_CLOSE
                     );
Bands_handle=iBands(NULL,0,144,0,2, MA_Custom_handle );