Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1343

 

Añadido al código, no imprime las segundas y posteriores copias de los indicadores

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
  OnInit();
   for(int i = prev_calculated == 0 ? 0 : prev_calculated - 1; i < rates_total; i++)
   {
      Label1Buffer[i] = close[i];
   }
   return(rates_total);
}

---

Lo que se ha hecho:

Instalé 3 copias del indicador, compilé el archivo y obtuve la impresión de la primera copia

2021.09.12 18:30:40.975 Create_button (BTCUSD,M30)      INIT SUCCEEDED: 1
 
Vitaly Muzichenko #:

Pero si se cambian los parámetros de entrada, entonces funciona.

he visto este tipo de mensajes en el foro, por lo que he entendido, el terminal no ejecuta dos copias del indicador con los mismos parámetros en el mismo gráfico

 
Igor Makanu #:

He visto este tipo de mensajes en el foro, por lo que he entendido, el terminal no inicia dos copias del indicador con los mismos parámetros en el mismo gráfico

¿Cómo puedo hacer que funcione sin cambiar los parámetros de entrada?

Hay que instalar varias copias, es una tarea tan ardua, desgraciadamente

 
Vitaly Muzichenko #:

¿Cómo puedo hacer que se ejecute sin cambiar los parámetros de entrada, tal vez añadir algo de definir?

Necesidad de establecer varias copias, esta es una tarea, por desgracia.

Introduzca un parámetro falso. Y asignarle 1, 2, 3 ...

 
Vitaly Muzichenko #:

¿Cómo puedo hacer que se ejecute sin cambiar los parámetros de entrada, tal vez añadir algo de definir?

Necesidad de establecer varias copias, esto es un reto, por desgracia

han visto y probado cómo hacer dos subventanas editando una plantilla - una subventana en la parte superior del gráfico, la segunda en el sótano

pruebe a guardar una plantilla con su indicador, y si también funciona así con las plantillas, añada una copia del indicador al texto de la plantilla

 
Igor Makanu #:

han visto y probado cómo hacer dos subventanas utilizando la edición de plantillas - una subventana en la parte superior del gráfico, la segunda en el sótano

prueba a guardar una plantilla con tu indicador y si funciona este truco también con las plantillas - añade una copia del indicador al texto de la plantilla

La cuestión es que hay que lanzar diferentes números de forma aleatoria, por lo que no funcionará de forma fija.

 
Igor Makanu #:

han visto y probado cómo hacer dos subventanas utilizando la edición de plantillas - una subventana en la parte superior del gráfico, la segunda en el sótano

intente guardar una plantilla con su indicador, y si funciona el mismo truco con las plantillas - añada una copia del indicador en el texto de la plantilla

He descargado 3 copias, OnInit funcionó una vez.

Cambió el valor de entrada - el segundo indicador se activó

He cambiado el color en la tercera - también ha funcionado


¿Pero cómo lo automatizo?

 

entonces no sé, sólo veo aceptable la solución de @Vladimir Karputov

hacer un parámetro de entrada largo y llamar al azar, y generar al azar uno grande, es decir, largo

 
Igor Makanu #:

entonces no sé, sólo veo aceptable la solución de @Vladimir Karputov

hacer un parámetro de entrada largo y llamar al azar, y generar al azar uno grande, es decir, largo

Me lo imaginaba así, pero ¿cómo ponerlo en práctica?

Por favor, muéstrame el código.

 
Vitaly Muzichenko #:

Eso es más o menos lo que me imaginaba, pero ¿cómo ponerlo en práctica?

Por favor, muéstrame el código.

de ninguna manera

Si lo llamas mediante programación, puedes generar un parámetro de forma aleatoria

Y si tienes que ejecutarlo manualmente, todavía tienes que cambiar el parámetro de entrada.


intenta ver que hay en las macrosustituciones predefinidas, había __COUNT___ y ahora hay algo con random, no he comprobado como funciona __COUNT___- resulta estático, tiene poco efecto, quizás puedas usar random para tu tarea

Razón de la queja: