Nuevo terminal de cliente de MetaTrader 4 387 y centro de datos de MetaTrader 4 build 387 - página 10

 
nen:

Esto no es un error del modo visual. Se trata exactamente de poner a cero los búferes de los indicadores, reiniciando los búferes con la versión 388.

Por desgracia, se equivoca. Es un trabajo estándar del mecanismo llamado IndicatorCounted() - restablecimiento de los búferes de los indicadores en los cambios significativos de la historia (este mecanismo estaba en todas las construcciones).

En este caso, hay un error en el modo visual (no lo he encontrado en el modo real durante la semana). Ya he descrito cuál es el fallo.

 
AlexSTAL:
He encontrado completamente la razón de este comportamiento en el post de abajo.

Gracias por comprobarlo, ahora está claro por dónde hay que cavar.

Intentaremos encontrarlo, solucionarlo y publicar una actualización lo antes posible.

 
AlexSTAL:
Así que ahí lo tienes - estás respondiendo a tu propia pregunta

Error mío, IndicatorCounted() no se aplica en los desarrollos recientes. Sólo lo hace en ZUP. Y no capta esta reinicialización.
 
Quiero informar que en el terminal y en la última build hay un Bug, concretamente el indicador iBands al especificar el parámetro de desviación 0.8 pone 0. Entiendo que este parámetro pertenece a int y debe ser un número entero, pero al adjuntar el indicador al gráfico el valor de la desviación puede ser menor que 1. ¿Por qué es posible establecer una desviación inferior a 1 en el gráfico, pero no en el Asesor Experto ...... o cómo superar esta ..............
 
VOLDEMAR:
Quiero informar que en el terminal y en la última build hay un Bug, concretamente el indicador iBands al especificar el parámetro de desviación 0.8 pone 0. Entiendo que este parámetro pertenece a int y debe ser un número entero, pero al adjuntar el indicador al gráfico el valor de la desviación puede ser menor que 1. ¿Por qué es posible establecer una desviación inferior a 1 en el gráfico, pero no en el Asesor Experto ...... o cómo superar esta ..............
Siempre ha sido así, que yo recuerde. Si no es así, Slava (stringo) me corregirá.
 
VOLDEMAR:
Quiero haceros saber que en el terminal y en la última build hay un Bug, concretamente el indicador iBands al especificar el parámetro de desviación 0,8 pone 0 . Entiendo que este parámetro pertenece a int y debe ser un número entero, pero al adjuntar el indicador al gráfico el valor de la desviación puede ser menor que 1. ¿Por qué es posible establecer una desviación inferior a 1 en el gráfico, pero no en el Asesor Experto ...... o cómo evitarlo ..............

Sí. Mira el tipo de parámetros pasados.

es int.

así que usa iCustom BBands

 
sergeev:

Sí. Mira el tipo de parámetros pasados.

es int

así que usa iCustom BBands

y cómo utilizarlo ?????

nunca se ha utilizado ....

 
VOLDEMAR:

y cómo utilizarlo ?????

nunca se ha utilizado ....

Esa es una buena razón para empezar. Siempre hay una primera vez para todo. :)
 

Evidentemente, el terminal carece de una función como GetTerminalState que debería devolver algún código (conjunto de bits) que se pueda utilizar para "preguntar" directamente al terminal qué está haciendo ahora, por ejemplo, IsConnected (que por cierto no siempre devuelve el resultado correctamente después de los reenganches) sólo informa de sí o no:

- fuera de línea (intentando conectarse, sin funcionar, parado)

- conectando (intentando conectar)

- connected (conectado al servidor)

En el último caso también es necesario aclarar:

- HistoryOrdersLoading, HistoryOrdersLoaded (descargado, se descarga todo el historial de pedidos).

- HistoryBarsLoading, HistoryBarsLoaded (descarga, todo el historial por precios.)

Además, durante el procesamiento de la orden es útil saber que se ha enviado una orden para abrir una orden y ahora el terminal está esperando su apertura, modificación o cierre. Una orden nunca se ejecuta instantáneamente y sería bueno saber en qué está pensando el terminal (los ticks hacen tictac pero el terminal no está operando, ¿por qué?)

También puede "empaquetar" el estado de autorización de operación/comercialización del EA.

 
nen:

Bien.

Ponerlo a prueba visualmente. Asesor experto en medias móviles.

Ajuste de la ZUP.

Euro. Horario.

Tenga en cuenta que mi código rastrea el intercambio de la historia. Así que se reinicializa cuando la historia se intercambia.

Anteriormente en este hilo he publicado un trozo de código. Toda la optimización está ahí.

Estoy pegando fotos aquí. Mi código "hinchado" sirve para hacer dibujos, eso es todo. No se ocupa de la negociación automática. Si una imagen se dibuja incorrectamente, se trata de un error.

Primera foto. Una pequeña historia. Se dibuja un rayo. Todo es normal.

Casi inmediatamente después de comenzar las pruebas, se dibujaron varios rayos en zigzag y una mariposa. Volando normal.

Volar más. Se ha producido su reinicialización. El software no puede rastrear esto. NO HAY UNA FORMA RUTINARIA DE RASTREAR LA REINICIALIZACIÓN.

Como la optimización de los cálculos está activada, y no hay señal de recálculo completo, vemos el resultado:

Se ha acumulado un poco de historia nueva. Se ha dibujado un rayo en zig-zag:

Si ahora reiniciamos el indicador, habrá una inicialización y todo se verá así:

Y así sucesivamente. No hay capacidad interna para rastrear la reinicialización de su búfer indicador.

Y no se puede recalcular el indicador en cada tick. Hazte un lío así. Tienes muchas cosas hechas con este espíritu desde hace mucho tiempo. Y por mucho que te hayamos hablado de muchos bichos, no los has entendido. Y ahora, cuando muchos programadores se han cansado de pelear contigo y han hecho sus propias soluciones a tus errores, empiezas a arreglar las cosas a escondidas.

Su código ha crecido igual de grande. Y tiene poca idea de las consecuencias de sus innovaciones.

Vamos a probarlo más a fondo.


Una vez más su reinicialización ha pasado varias veces. Debería ser así:

¿Es difícil de reproducir? ¿O tal vez no quieres hacerlo?

Y más adelante, en las pruebas, todo sigue en la misma línea.

No le eches la culpa a los demás. El código está hinchado.

-------

En conclusión, lo diré de nuevo. No estoy preocupado por mí mismo. Puedo evitar cualquiera de sus errores programáticamente para mí. Pero los usuarios -y son muchos- no podrán hacerlo.

Voy a añadir. Nunca he vendido ninguno de mis indicadores y no he desarrollado ninguno de mis indicadores por una tarifa. Creo que cuando las metacotizaciones puedan cambiar todo fundamentalmente como en las construcciones 387-388, nadie de fuera podrá construir un buen negocio en el desarrollo con lenguajes MQL(*). Todavía no puede ofrecer a los desarrolladores de terceros un marco de desarrollo estable.

Todos los desarrollos de pago que utilicen sus idiomas se consideran una especie de esquiva.


Hizo todo como se describe. Pero con algunas modificaciones.

  1. En el terminal del cliente he puesto la salida en el registro en la reinicialización de nuestros buffers.
  2. En el indicador ZUP poner la impresión al borrar la mariposa.

Aquí está el registro.

15:45:16 Compiling 'ZUP_v92'
15:45:16 ZUP_v92 EURUSD,H1: loaded successfully
15:45:40 ZUP_v92 EURUSD,H1: initialized
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=1094
15:45:41 custom indicator ZUP_v92 EURUSD,H1 buffer reinitialize
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
...
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:08 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
...
15:55:15 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:15 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1035
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036

Tras el último borrado de la mariposa (dos líneas borradas en forma de triángulo), ¡no hubo reinicialización del búfer!

Por cierto, el mismo comportamiento se reproduce en tu build 225 favorito