ChartNavigate durante la inicialización - página 3

 
Dina Paches:

¿Por qué? ¿Escribí/traje tonterías?

No es que sea una tontería... pero es que aquí estamos investigando la navegación y redibujar el gráfico no tiene ningún efecto (ya que al principio del experimento se decía claramente que el desplazamiento del gráfico debía estar desactivado).

El código de prueba se ejecuta durante un minuto o dos como máximo, nuestros ordenadores son potentes, por lo que la carga es insignificante.

 
Vladimir Karputov:

No es que sea una tontería... pero es que aquí estamos investigando la navegación y el redibujado del gráfico no tiene ningún efecto (ya que al principio del experimento se decía claramente que el desplazamiento del gráfico debía estar desactivado).

El código de prueba se ejecuta durante un minuto o dos como máximo, nuestros ordenadores son potentes, por lo que la carga es insignificante.

Los códigos de prueba pueden ejecutarse con frecuencia. /* Ahora un minuto aquí, luego un minuto allí, luego una hora en otro lugar, etc...

Me refería en este post a las palabras de Renat. Supongo que tiene ordenadores más potentes que tú.

Tú, Vladimir, publicaste estos códigos de prueba para mostrar el trabajo (resultados de la investigación), para su descarga. Redibujar el gráfico en cada tilde en ellos es inapropiado

 
P./S.: En los parámetros de entrada tiene la opción de desactivar/activar sólo el redibujado del gráfico medianteChartRedraw(). Sin embargo, dentro de los códigos de prueba se tiene un redibujado del gráfico en cada tick a través de Comment
 
Dina Paches:

Los códigos de prueba pueden ejecutarse con frecuencia. /* Ahora un minuto aquí, luego un minuto allí, luego una hora en otro lugar, etc...

Me refería en este post a lo dicho por Renat. Supongo que tiene ordenadores más potentes que tú.

Tú, Vladimir, publicaste estos códigos de prueba para mostrar el trabajo (resultados de la investigación), para su descarga. No es conveniente volver a dibujar los gráficos con cada tilde en ellos.

Tienes razón en lo del rediseño. Simplemente no es apropiado ahora ))

 
Ihor Herasko:

Tienes razón en lo del rediseño. Simplemente no es lo más adecuado en este momento).

Um... No es el lugar para volver a dibujar en cada tic. No es el lugar para tratar de convencerte de que no vale la pena prestarle atención.

Y no se dice nada al respecto.

Pero ahora, a expensas de tus esfuerzos y los de Vladimir por convencer de que está fuera de lugar y no merece la pena prestarle atención, el énfasis se ha desviado realmente del tema)

 

Construye 1865.

Se ha hecho un cambio en el indicador:

   if(count%12==0/* || count==19*/)

Es decir, cada 12 ticks movemos forzosamente el gráfico. Para qué sirve:

  1. Puede mover manualmente el gráfico entre 12 ticks y ver el número de la primera barra visible
  2. Seguimiento visual del movimiento.


Hasta aquí tenemos una teoría: ¡el desplazamiento del gráfico depende del GRÁFICO AMPLIADO!

Archivos adjuntos:
 

Indicador versión 1.002:

eliminado todos los comentarios (ahora se imprimen a través de Print)

Por defecto:

//--- input parameters
input bool redraw=false;
input ENUM_CHART_POSITION position=CHART_END;

Clara dependencia de la escala del gráfico. Y hay algo de memoria si se desplaza manualmente el gráfico una vez.

Archivos adjuntos:
 
Ihor Herasko:

He encontrado un problema con la función ChartNavigate. Estoy haciendo algo mal o realmente hay un problema con la función. Escribe si lo has utilizado con frecuencia.

Entonces, la esencia del problema: ChartNavigate no desplaza el gráfico Al iniciar el terminal Si llamo a esta función en OnInit(). He leído a propósito la documentación varias veces. En ninguna parte dice que la función no puede ser llamada durante la inicialización.

Código indicador para la reproducción:

Pasos para jugar:

  1. Desactivar la reproducción automática de gráficos.
  2. Adjunte el indicador al gráfico. ChartNavigate se activará al mover el gráfico a la posición deseada.
  3. Descargue el terminal.
  4. Cargue el terminal. ChartNavigate no funcionará mostrando el gráfico sin un desplazamiento.
OK, si la función diera un error. Pero no es así. Todas las llamadas tienen éxito, pero es cuando se recarga el terminal cuando no se produce el desplazamiento del gráfico.

Dígame, por favor, y antes de descargar el terminal, ¿vuelve el gráfico a los precios más recientes?

Por qué lo pregunto:

Estoy usando tu código para ver cómo me funcionaría en estas condiciones. Al principio pensé que el problema descrito por usted se reproduce en mi código. Más tarde comprendí que no es así. Si el gráfico se restablece a los últimos precios antes de ser descargado, funciona según el código cuando se carga el terminal. Si no vuelvo a los últimos precios antes de la descarga, el gráfico permanece donde estaba antes de la descarga.

 
Vladimir Karputov:

Construye 1865.

Se ha hecho un cambio en el indicador:

Es decir, cada 12 ticks movemos forzosamente el gráfico. Para qué sirve:

  1. Puede mover manualmente el gráfico entre 12 ticks y ver el número de la primera barra visible
  2. Seguimiento visual del movimiento.


Hasta aquí tenemos una teoría: ¡el desplazamiento del gráfico depende del GRÁFICO AMPLIADO!

Vladimir Karputov:

Indicador versión 1.002:

...

Existe una clara dependencia dela escala del gráfico. Y hay algo de memoria si se desplaza manualmente el gráfico una vez.


El autor del hilo ha creado este hilo debido a la siguiente pregunta - ChartNavigate durante la inicialización:

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

ChartNavigate en la inicialización

Ihor Herasko, 2018.06.25 12:17

...

Así pues, el quid del problema: ChartNavigate no desplaza el gráfico Al inicio de la terminal Si llamas a la función en OnInit().


Tú, Vladimir, no investigas en OnInit() sino en OnCalculate(). No en el tema descrito por el autor del hilo.

Es decir, se está considerando otra cosa en este hilo.

Si ha detectado un problema real, tal vez debería ponerse en contacto con el Servicio de Atención al Cliente con su descripción.


P./S.: Según el último código de prueba del indicador que se adjunta aquí, ya no se produce un reajuste forzado del gráfico en cada tick. Pero en lugar de eso, ahora se imprime en el registro en cada tic. Debido a que no se comprueba si el número de la primera barra del gráfico ha cambiado.

Además, su código contiene la eliminación activa de los comentarios. Es decir, si pones tu código en el gráfico, donde algún otro programa creará algunos comentarios necesarios, tu código de prueba los eliminará

P./S.: Eliminada una cita duplicada al principio del post, en su lugar se han puesto citas de otro, intercaladas.

 
Dina Paches:


El autor del tema lo creó sobre la siguiente pregunta - ChartNavigate durante la inicialización:


Tú, Vladimir, no estás investigando en OnInit() sino en OnCalculate(). No en el tema descrito por el autor del hilo.

Es decir, se está considerando otra cosa en este hilo.

Si ha detectado un problema real, tal vez debería ponerse en contacto con el Servicio de Atención al Cliente para describirlo.


P./S.: Según el último código de prueba del indicador que se adjunta aquí, ya no se produce un reajuste forzado del gráfico en cada tick. Pero en lugar de eso, ahora se imprime en el registro en cada tic. Debido a que no se comprueba si el número de la primera barra del gráfico ha cambiado.

Además, su código contiene la eliminación activa de los comentarios. Es decir, si pones tu código en el gráfico, donde algún otro programa creará algunos comentarios necesarios, tu código de prueba los eliminará

Dina, ¿te funciona? Llevo 2-3 horas (sólo hoy, sin contar las pruebas de ayer) intentando conseguir una versión de OnInit que no funcione, pero sin éxito. Todo funciona siempre como debería. Si pongo el indicador en dos gráficos y reinicio el terminal, sólo funciona en el gráfico que estaba activo en el momento de cerrar y abrir el terminal. En el segundo, el gráfico no activo no funciona. Pero esto, en mi opinión, es comprensible, no hay representación del gráfico y no hay gráfico en sí, a pesar de que los datos se reciben.