Color del indicador estándar - página 4

 

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1. esto NO es la media móvil!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ponga la media móvil y la media móvil de Castom en el gráfico.

MA

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Aquí están los parámetros de la media móvil - su 7!!!!!!!!!!!!!!!!!!!!!!!!!!

2. ¿Sí? Entonces, ¿por qué no puedes cambiarlo desde tu código?

 
Mikalas:

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1. esto NO es la media móvil!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ponga la media móvil y la media móvil de Castom en el gráfico.

2. ¿Sí? Entonces, ¿por qué no puedes cambiar de código?

1. Su afirmación necesita una prueba estricta

2. Porque el color no tiene efecto en el cálculo. Porque cuando se crea un indicador desde un Asesor Experto, sólo se crea su parte de cálculo sin parte de interfaz, lo que no tiene sentido para el Asesor Experto.

 
Mikalas:
...

2. ¿Sí? Entonces, ¿por qué no puedes cambiar de código?

Déjeme preguntarle de nuevo:

¿Quieres saber la razón por la que no puedes,

o

¿Quiere decirle a los desarrolladores que debería ser posible?

 
Mikalas:


¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Aquí están los parámetros de entrada para la media móvil - hay 7!!!!!!!!!!!!!!!!!!!!!!!!!!

¿Por qué 7? Siga el enlace y lea

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

excluyendo el período del símbolo, sólo hay 4 parámetros de entrada

 

¡Urain!

Quiero saber por qué no se puede y dejar claro a los desarrolladores que así debe ser.

¡estringo!

¿Para qué he publicado la foto?

Ir a la referencia IndicatorCreate(), no a la referencia iMA

y léalo con atención:

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

donde MqlParam

parameters_array[]=NULL

[in] Matriz de tipo MqlParam cuyos elementos contienen el tipo y el valor de cada parámetro de entrada del indicador técnico.

Por cierto, ¡sólo hay 3 parámetros de entrada en la Media Móvil Personalizada!

La media móvil NO es una media móvil personalizada.

La función iMA() está diseñada para la adición simple al gráfico del indicador, y la función IndicatorCreate() está diseñada para la creación avanzada.

Por ejemplo, FileCreate() y FileCreateEx();

Mikhail

 

Mikalas:

[in] Matriz de tipo MqlParam, cuyos elementos contienen el tipo y el valor de cada parámetro de entrada del indicador técnico.

El color no es un parámetro de entrada de un indicador técnico.
 
Mikalas:

¡Urain!

Quiero saber por qué no se puede y hacer llegar a los desarrolladores el mensaje de que así debe ser.

¡estringo!

¿Para qué he publicado la foto?

Ir a la referencia IndicatorCreate(), no a la referencia iMA

y léelo con atención:

donde MqlParam

parameters_array[]=NULL

[in] Matriz de tipo MqlParam cuyos elementos contienen el tipo y el valor de cada parámetro de entrada del indicador técnico.

Por cierto, ¡sólo hay 3 parámetros de entrada en la Media Móvil Personalizada!

La media móvil NO es una media móvil personalizada.

Michael

Todos los parámetros que se requieren (e incluso los que no se necesitan o no se utilizan en los cálculos) para los cálculos en el indicador y para el análisis en el Asesor Experto se pueden registrar en las variables de entrada del indicador personalizado (autoescrito). Estos parámetros estarán disponibles cuando se adjunte el indicador a un gráfico y cuando se llame programáticamente desde el Asesor Experto.

Andrey

 

Queridos colegas

¡Para la media móvil es la entrada!

No hay ningún código para la Media Móvil (¿CUANDO SE ENTIENDE ESO?) Hay uno para la Media Móvil Personalizada.

He escrito al servicio técnico. A ver qué dicen.

Mikhail

 
Mikalas:

¡Urain!

Quiero saber por qué no se puede y hacer saber a los desarrolladores que esto debería ser así.

En primer lugar, tu comparación de la interfaz de los indicadores estándar y los personalizados no es del todo correcta.

Los indicadores estándar son indicadores que han sido fuertemente optimizados, y como puede ver su interfaz es ligeramente diferente.

Ahora, ¿por qué no?

el color del indicador se establece en la directiva del preprocesador, se carga primero, seguido de los parámetros de entrada.

Las directivas del preprocesador son inmutables desde el exterior, al menos porque MQL5 no tiene excepciones #if #endif.

no puede crear una directiva de preprocesador personalizable.

La forma de salir de esta situación es utilizar el método descrito anteriormente, poner el color en instancias y establecerlo explícitamente a través de PlotSet...

 

¡Urain!

No hay código para la media móvil.

¿Qué tiene que ver el preprocesador?

No creo un indicador y luego le cambio el color.

El indicador se crea con un parámetro de color.

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