Errores, fallos, preguntas - página 3146

 

Hay algo que no está claro en el probador

Pido el historial de 1 mes, y se carga para "100" años.

¿Por qué?



 
Vitaly Muzichenko #:

Hay algo que no está claro en el probador

Pido el historial de 1 mes, y se carga para "100" años.

¿Para qué?

No cien años, sólo un año.

Siempre hay que dejar el espacio disponible antes del intervalo solicitado para que los indicadores calculen correctamente y no partan de cero.

Y para que los recién llegados no se pregunten si les falta tal o cual dato.

 
Valeriy Yastremskiy #:
Anote la última y penúltima subida y puja y cuente la diferencia.
Lo entiendo. Lo importante para mí es la coherencia. Hasta ahora mis pensamientos son los siguientes: ya que es una posición, debe ser referida. Para ello, empezamos a enumerar todas las posiciones a través del bucle, luego obtenemos su ticket y después la hora de apertura de la posición. Declarar array con ticks MqlTick ticks[ ]. Contando algún tiempo desde la hora de apertura de la posición, escribe los ticks en la matriz de ticks a través de CopyTickRange. A continuación, aplique ArraySetAsSeries al array de ticks, si es posible. Y aplicar la diferencia entre la última y la penúltima oferta y demanda, que has descrito, a los dos últimos ticks de esa matriz. Pero de momento esto es solo una idea, quizás alguien ya lo haya hecho y tenga un ejemplo. Respetuosamente.
 
MetaQuotes #:

No cien años, sino sólo un año.

Siempre debe dejar espacio disponible antes del intervalo solicitado para que los indicadores se calculen correctamente, en lugar de empezar de cero.

Y para que los recién llegados no hagan preguntas sobre la falta de ciertos datos.

¿Cómo se "deja espacio antes del intervalo solicitado"? Estoy haciendo una prueba de Asesor Experto, que utiliza el indicador personalizado de 2021, en el EA real este indicador se traza correctamente en este marco de tiempo, pero en la prueba parece que está empezando desde cero y por lo tanto los resultados son incorrectos...

 
Wizard #:
Esto lo entiendo. La coherencia es importante para mí. Hasta ahora mis pensamientos son los siguientes: ya que es una posición, debemos abordarla. Para ello, empezamos a hacer un bucle con todas las posiciones, luego obtenemos su ticket y después la hora de apertura de la posición. Declarar array con ticks MqlTick ticks[ ]. Contando algún tiempo desde la hora de apertura de la posición, escribe los ticks en la matriz de ticks a través de CopyTickRange. A continuación, aplique ArraySetAsSeries al array de ticks, si es posible. Y aplica la diferencia entre la última y la penúltima oferta y demanda, que has descrito, a los dos últimos ticks de esa matriz. Pero de momento esto es solo una idea, quizás alguien ya lo haya hecho y tenga un ejemplo. Respetuosamente.

Para MT4 es sencillo. Allí, la apertura de la orden está ligada a un tick, el usuario no ve la posición que se llena. Pero en el 5 sí. Ve las operaciones cuando se cubre el puesto. Y un puesto puede cubrirse más de una vez. Esto es sólo un comentario. Pero la lógica es correcta. Aunque, para mí, sería más correcto hacerlo en base a la persecución en caliente. Tras la activación de una orden pendiente o una orden de mercado, en el momento de obtener la respuesta sobre la posición con el ticket de la orden, obtener los datos sobre el precio y la hora de su apertura y buscar el tick más cercano por su precio y hora. El problema es que la respuesta puede llegar sólo en el siguiente tic o después de un tic. No hay ninguna garantía.

 
MetaQuotes #:

No cien años, sino sólo un año.

Siempre hay que dejar espacio disponible antes del intervalo solicitado para que los indicadores se calculen correctamente, en lugar de empezar de cero.

Y para que los recién llegados no hagan preguntas sobre la falta de ciertos datos.

Si pudieras especificar en los indicadores algo como #property indicator_bars_need sería fabulosamente conveniente.

y el probador simplemente tomaría el valor más grande, si este parámetro está presente en varios indicadores.

Hay una situación inversa en la que se necesita todo el historial posible, un año no es suficiente. Por eso mi último cliente se sorprendió de que el probador recogiera tan pocos extremos históricos (según el algoritmo del indicador).

 
Andrey Dik #:

Si se pudiera especificar algo como #property indicator_bars_need en los indicadores, sería realmente genial.

y el comprobador sólo tomaría el valor más alto, si este parámetro está presente en varios indicadores.

La propiedad no puede ajustarse a los parámetros. Ya no es fabuloso )

 
Andrey Khatimlianskii #:

La propiedad no puede ajustarse a los parámetros. Eso ya no es fabuloso ) )

))

El objetivo de mi propuesta es permitir indicar cuánta historia se requiere en el indicador para los cálculos.

 
Yerkin Sagandykov #:

¿Cómo "dejar un espacio antes del marco temporal solicitado"? Estoy probando un Asesor Experto que utiliza un indicador personalizado de 2021 , el indicador real se dibuja correctamente para este marco temporal, pero en la prueba parece que comienza desde cero y por lo tanto sus resultados no son correctos .

¿Tienes algún problema por tener datos extra garantizados?

¿No hay suficiente memoria?
 
No hay respuesta, no hay palabra. Preguntaré aquí porhttps://www.mql5.com/ru/forum/383809.
Расширение стандартной линейки таймфреймов в сторону более высоких периодов
Расширение стандартной линейки таймфреймов в сторону более высоких периодов
  • 2021.12.11
  • www.mql5.com
Уважаемые MetaQuotes! Давно назрела необходимость в более высоких ТФах в Metatrader и MQL ! Планируется ли повысить линейку периодов за пределы MN...