Errores, fallos, preguntas - página 2996

 
Artyom Trishkin:

Eso fue hace mucho tiempo. El problema se ha resuelto hace tiempo. Es necesario acceder a los datos del marco temporal/símbolo no nativo al menos una vez cada dos minutos. En el bucle principal, si todavía no hay datos del marco temporal solicitado, es necesario salir del bucle - sólo devolver cero para esperar el siguiente tick, y el indicador sabía que los datos históricos aún no se han calculado.

Así que se calculan, sólo que los valores se envían incorrectamente. Sólo funciona correctamente en los minutos.

 
Francuz:

Así es como se calculan, sólo que los valores se devuelven de forma incorrecta. Sólo funciona correctamente en los minutos.

¿Las direcciones de indexación de los arrays son las mismas?

 
Artyom Trishkin:

¿Lasdirecciones de indexación de las matrices son las mismas?

Copiar un valor. ¿Cree que cambiar la matriz cambiará algo? Pero por si acaso, he comprobado y me he asegurado de que al voltear la numeración de la matriz no cambia el único valor. :)

 
Francuz:

Copiar un valor. ¿Cree que cambiar la matriz cambiará algo? Pero por si acaso, he comprobado y me he asegurado de que al voltear la numeración de la matriz no cambia el único valor. :)

Bueno, no sé qué, cómo y dónde se copia.

 
Artyom Trishkin:

No sé qué, cómo o dónde está copiando.

0_о

El código del indicador dado mostró todo:

::CopyBuffer(handle, 0, a, 1, Buffer);
 
Francuz:

No entiendes lo que quieres decir. Se supone que el código sólo funciona una vez. Su propósito es mostrar claramente que el indicador llamado no funciona. El problema es que el indicador llamado no funcionará si éste (y el que lo llama) tiene un TimeFrame diferente al del minuto. He descubierto que es un errorde MetaTrader que se puede solucionar sólo con muletas. Y este problema es bastante antiguo. Puede leer los detalles en "No puedo obtener los datos del indicador del TF 123 superior".

¿Qué quiere decir con resaltar? El período actual se establece en el código.

   handle = iCustom(_Symbol, PERIOD_CURRENT, "Examples\\ATR.ex5", 14);

Muestras al menos algo, con qué parámetros corriste, qué obtuviste y qué esperas obtener. Y sería bueno ver lo que esta línea imprime

   ::Print(__FUNCTION__ + "| PERIOD_CURRENT = ", EnumToString(_Period));
 
Alexey Viktorov:

Resaltado, ¿de qué se trata? El código especifica el período actual.

Al menos deberías mostrarme algo, con qué parámetros corriste, qué obtuviste y qué esperabas obtener. Y sería bueno ver lo que imprime esta línea

1. Por ejemplo, puede ejecutar este código con un TimeFrame diferente de un minuto.

2. Ejecute el ATR en el mismo Símbolo y en el mismo TimeFrame.

3. Compara los valoresde ATR a través del código y directamente desde el indicador.

4. Compruebe que los valores no coinciden.

Ejemplo

BS es el valor de ATR recibido.

 
Francuz:

1. Ejecutar el código anterior en un TimeFrame que no sea un minuto.

2. Ejecute el ATR en el mismo Símbolo y en el mismo TimeFrame.

3. Compara los valoresde ATR mediante código y directamente desde el indicador.

4. Compruebe que los valores no coinciden.

¿Has probado a pegar el código que he resaltado en amarillo y a ejecutar el indicador?

 
Francuz:

1. Ejecutar el código anterior en un TimeFrame que no sea un minuto.

2. Ejecute el ATR en el mismo Símbolo y en el mismo TimeFrame.

3. Compara los valoresde ATR mediante código y directamente desde el indicador.

4. Compruebe que los valores no coinciden.

BS es el valor de ATR recibido.

¿Quizás los esquís están mal?


y también RTS-6.21


 
Nikolai Semko:
¿Has probado a pegar el código que he resaltado en amarillo y a ejecutar el indicador?

Sí, lo hice. El resultado no ha cambiado.