Generador de identificación única para un indicador particular - página 2

 
angevoyageur:
¿Cuál es el problema con el número de subventana?
No sé en qué estás pensando pero, al aplicar una plantilla o recargar, un valor como CHART_WINDOWS_TOTAL se reporta como el total de indicadores en el gráfico, no el total cargado hasta el momento (es decir, no se incrementa uno a uno a medida que se inicializa cada indicador).
 
gchrmt4:
No sé en qué estás pensando pero, al aplicar una plantilla o recargar, un valor como CHART_WINDOWS_TOTAL se reporta como el total de indicadores en el gráfico, no el total cargado hasta el momento (es decir, no se incrementa uno a uno a medida que se inicializa cada indicador).

Vale, la subventana no es fiable, ya que puede cambiar.
 
angevoyageur:
¿Cuál es el problema con el número de subventana?

Con el 610/614 era casi imposible recuperarlo correctamente desde el propio indicador, en el 616 si se ha solucionado en su mayor parte, pero sigue fallando en DeInit().
 
Ovo:

Con el 610/614 era casi imposible recuperarlo correctamente desde el propio indicador, en el 616 si se ha solucionado en su mayor parte, pero sigue fallando en DeInit().
ChartWindowFind() parece que me funciona. De todas formas, no es fiable, ya que si quitas un indicador y luego añades otro, el número de subventana cambia.
 
angevoyageur:
ChartWindowFind() parece funcionar para mí. De todas formas, no es fiable, ya que si quitas un indicador y luego añades otro, el número de la subventana cambia.
El mismo problema con ChartWindowFind() que con el antiguo WindowFind(): es inútil si hay más de una instancia del mismo indicador, por ejemplo, dos ventanas RSI mostrando cálculos para diferentes períodos (o el mismo período, pero con cambios en otros parámetros que no se reflejan en ninguna llamada a IndicatorShortName).
 
gchrmt4:
El mismo problema con ChartWindowFind() que con el antiguo WindowFind(): es inútil si hay más de una instancia del mismo indicador, por ejemplo, dos ventanas RSI mostrando cálculos para diferentes períodos.

Esto es lo que he dicho, poco fiable.

Es un problema interesante. Como creo que sólo tiene sentido añadir el mismo indicador varias veces cuando se utilizan diferentes parámetros de entrada, una forma sería formar una firma a partir de estos parámetros. O por supuesto una de las soluciones que has propuesto anteriormente.

 
gchrmt4:
El mismo problema con ChartWindowFind() que con el antiguo WindowFind(): es inútil si hay más de una instancia del mismo indicador, por ejemplo, dos ventanas RSI mostrando cálculos para diferentes períodos (o el mismo período, pero cambios en otros parámetros que no se reflejan en ninguna llamada a IndicatorShortName).

De hecho ChartWindowFind ya funciona para los indicadores en 616, excepto el OnDeinit. Pero aún es demasiado húmedo para ser considerado estable, por lo que me gusta evitarlo en cualquier creación de ID.

Gracias por el aporte, elegiré o bien el bloqueo del archivo o esperar el cambio de GetTickCount. Tengo que probar.

 
angevoyageur:

Esto es lo que he dicho, poco fiable.

Es un problema interesante. Como creo que sólo tiene sentido añadir el mismo indicador varias veces cuando se utilizan diferentes parámetros de entrada, una forma sería formar una firma a partir de estos parámetros. O por supuesto una de las soluciones que propusiste anteriormente.


Aprovecho de las nuevas habilidades de MQL4 GUI para establecer y cambiar los parámetros sobre la marcha. Así que la firma al inicio es la misma, y aún así tiene sentido añadirla varias veces. No se menciona, que si era posible, que debería haberse comportado correctamente.
 
Ovo:

De hecho ChartWindowFind ya funciona para los indicadores en 616, excepto el OnDeinit. Pero todavía es demasiado húmedo para ser considerado estable, por lo que me gusta evitarlo en cualquier creación de ID.

Gracias por el aporte, elegiré o bien el bloqueo del archivo o esperar el cambio de GetTickCount. Tengo que probar.

Mientras leía esto, enseñé sobre el uso del tiempo como GetTickCount arriba.

Luego enseñé sobre __DATETIME__ Fecha y hora de compilación del archivo.

https://docs.mql4.com/constants/namedconstants/compilemacros

¿Qué piensan ustedes sobre eso?

 

No estoy seguro de si querías decir "enseñado".

Yo uso algunos de ellos para depurar, pero para __DATETIME__ no he encontrado ninguna utilidad todavía... ¿a dónde apuntas?

Razón de la queja: