Couleur de l'indicateur standard - page 4

 

1. Il ne s'agit PAS de la moyenne mobile !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Mettez la moyenne mobile et la moyenne mobile de Castom sur le graphique !

MA

Voici les paramètres de la moyenne mobile - leurs 7 !!!!!!!!!!!!!!!!!!!!!!!!!!

2. Oui ? Alors pourquoi ne pouvez-vous pas le modifier à partir de votre code ?

 
Mikalas:

1. Il ne s'agit PAS de la moyenne mobile !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Mettez la moyenne mobile et la moyenne mobile de Castom sur le graphique !

2. Oui ? Alors pourquoi ne pouvez-vous pas changer à partir de votre code ?

1. Votre affirmation nécessite une preuve stricte

2. Parce que la couleur n'a aucun effet sur le calcul. Parce que lorsque vous créez un indicateur à partir d'un Expert Advisor, seule sa partie calcul est créée sans partie interface, ce qui n'a aucun sens pour l'Expert Advisor.

 
Mikalas:
...

2. Oui ? Alors pourquoi ne pouvez-vous pas changer à partir de votre code ?

Laissez-moi vous le redemander :

Voulez-vous connaître la raison pour laquelle vous ne pouvez pas,

ou

Voulez-vous dire aux développeurs que cela devrait être possible ?

 
Mikalas:


Voici les paramètres d'entrée pour la moyenne mobile - il y a 7 !!!!!!!!!!!!!!!!!!!!!!!!!!

Pourquoi 7 ? Suivez le lien et lisez

int  iMA(
   string               symbol,            // имя символа
   ENUM_TIMEFRAMES      period,            // период
   int                  ma_period,         // период усреднения
   int                  ma_shift,          // смещение индикатора по горизонтали
   ENUM_MA_METHOD       ma_method,         // тип сглаживания
   ENUM_APPLIED_PRICE   applied_price      // тип цены или handle
   );

à l'exception de la période du symbole, il n'y a que 4 paramètres d'entrée.

 

Urain !

Je veux savoir pourquoi vous ne pouvez pas et faire comprendre aux développeurs que cela devrait être le cas !

stringo !

Pourquoi j'ai posté la photo ?

Allez à la référence IndicatorCreate(), pas à la référence iMA

et le lire attentivement :

int  IndicatorCreate(
   string           symbol,                            // имя символа
   ENUM_TIMEFRAMES  period,                            // период
   ENUM_INDICATOR   indicator_id,                      // тип индикатора из перечисления ENUM_INDICATOR
   int              parameters_cnt=0,                  // количество параметров
   const MqlParam&  parameters_array[]=NULL,           // массив параметров
   );

MqlParam

tableau des paramètres[]=NULL

[Array of type MqlParam the elements of which contain type and value of each input parameter of the technical indicator.

A propos, il n'y a que 3 paramètres d'entrée dans la moyenne mobile personnalisée !

La moyenne mobile n'est PAS une moyenne mobile personnalisée !

La fonction iMA() est conçue pour un simple ajout au graphique de l'indicateur, et la fonction IndicatorCreate() est conçue pour une création avancée.

Par exemple, FileCreate() et FileCreateEx() ;

Mikhail

 

Mikalas:

[Tableau de type MqlParam, dont les éléments contiennent le type et la valeur de chaque paramètre d'entrée de l'indicateur technique.

La couleur n'est pas un paramètre d'entrée d'un indicateur technique.
 
Mikalas:

Urain !

Je veux savoir pourquoi vous ne pouvez pas et faire comprendre aux développeurs que cela devrait être le cas !

stringo !

Pourquoi j'ai posté la photo ?

Allez à la référence IndicatorCreate(), pas à la référence iMA

et le lire attentivement :

MqlParam

tableau des paramètres[]=NULL

[Array of type MqlParam the elements of which contain type and value of each input parameter of the technical indicator.

A propos, il n'y a que 3 paramètres d'entrée dans la moyenne mobile personnalisée !

La moyenne mobile n'est PAS une moyenne mobile personnalisée !

Michael

Tous les paramètres nécessaires (et même ceux qui ne sont pas nécessaires ou utilisés dans les calculs) pour les calculs dans l'indicateur et pour l'analyse dans le conseiller expert peuvent être enregistrés dans les variables d'entrée de l'indicateur personnalisé (auto-écrit). Ces paramètres seront disponibles lorsque l'indicateur sera attaché à un graphique et lorsqu'il sera appelé de manière programmatique depuis le conseiller expert.

Andrey

 

Chers collègues !

Pour la moyenne mobile, c'est l'entrée !

Il n'y a pas de code pour la moyenne mobile (quand vous comprenez ça ?), il y en a un pour la moyenne mobile personnalisée.

J'ai écrit au support technique. Voyons ce qu'ils vont dire.

Mikhail

 
Mikalas:

Urain !

Je veux savoir pourquoi vous ne pouvez pas et faire savoir aux développeurs qu'il devrait en être ainsi !

Tout d'abord, votre comparaison entre l'interface des indicateurs standard et celle des indicateurs personnalisés n'est pas tout à fait correcte.

Les indicateurs standard sont des indicateurs qui ont été fortement optimisés, et comme vous pouvez le voir, leur interface est légèrement différente.

Maintenant, pourquoi pas

la couleur de l'indicateur est définie dans la directive du préprocesseur, elle est chargée en premier, suivie des paramètres d'entrée.

Les directives du préprocesseur sont immuables de l'extérieur, au moins parce que MQL5 n'a pas d'exceptions #if #endif.

vous ne pouvez pas créer une directive de préprocesseur personnalisée.

Le moyen de sortir de cette situation est d'utiliser la méthode décrite ci-dessus, de mettre la couleur dans les instances et de la définir explicitement à travers PlotSet...

 

Urain !

Aucun code pour Moyenne mobile !

Qu'est-ce que le préprocesseur a à voir là-dedans ?

Je ne crée pas un indicateur pour ensuite changer sa couleur !

L'indicateur est créé avec un paramètre de couleur.

params[0].type = TYPE_INT;
        params[0].integer_value = 10;
        
        params[1].type = TYPE_INT;
        params[1].integer_value = 0;
        
        params[2].type = TYPE_INT;
        params[2].integer_value = MODE_SMA;
        
        params[3].type = TYPE_INT;
        params[3].integer_value = PRICE_MEDIAN;
        
        params[4].type = TYPE_COLOR;
        params[4].double_value = clrBlue;
        
        ma_handle = IndicatorCreate( NULL, PERIOD_CURRENT, IND_MA, 5, params );
        if ( ma_handle != INVALID_HANDLE )
      {
        ChartIndicatorAdd( 0, 0, ma_handle );
      }

Mikhail