Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1165
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
No puedes perder una habilidad.
¿Sí? ¿Un centenar, entonces? Con limón...
En la captura de pantalla, la visualización de la memoria intermedia se desplaza cinco barras hacia la derecha. Entonces - para obtener la quinta barra del buffer de indicadores (con índice 4), y más abajo en la lista a la izquierda, ¿de dónde debemos obtenerlos? De Buffer[4] y más a la izquierda.
En teoría. En la práctica, hace tiempo que no abro el código de los indicadores, hace casi un año que no trabajo con ellos. Pruébalo.
Así es. Pero no necesito esos 5 valores a la derecha, quiero tener el valor necesario en el Buffer[0] de una vez. Si no, tendré que pasar no sólo el buffer sino también el offset a un montón de funciones para calcular fractales por MA y otras cosas. Esto supone una complicación innecesaria del código y una ralentización adicional de los cálculos.
Puedo copiar los valores requeridos en el Buffer (sin 5 valores MA a la derecha) sólo si paso -2*ma_shift en CopyBuffer para start_pos.
Esa es la pregunta original: de dónde viene el doble desplazamiento negativo. Por favor, aclárese. Tal vez sea un error, o tal vez sea una característica de MQL5.
Esto es correcto. Pero no necesito esos 5 valores a la derecha, quiero tener el valor deseado en el Buffer[0] de una vez. De lo contrario, tendré que pasar no sólo el buffer, sino también el desplazamiento en un montón de funciones para el cálculo de fractales por MA y otras cosas. Esto supone una complicación innecesaria del código y una ralentización adicional de los cálculos.
Puedo copiar los valores requeridos en el Buffer (sin 5 valores de MA a la derecha) sólo si paso -2*ma_shift en CopyBuffer para start_pos.
Esa es la pregunta original: de dónde viene el doble desplazamiento negativo. Por favor, aclárese. Tal vez sea un error, o tal vez sea una característica de MQL5.
Ves que no se te entiende. Si lo hace, suele hacer un dibujo. Todavía no está claro lo que quieres conseguir.
Añadido: La imagen debe mostrar lo que debe ser el resultado completo.
Esto es correcto. Pero no necesito esos 5 valores a la derecha, quiero tener el valor deseado en el Buffer[0] de una vez. Si no, tendré que pasar no sólo el buffer sino también el offset a un montón de funciones para el cálculo de fractales por MA y otras cosas. Esto supone una complicación innecesaria del código y una ralentización adicional de los cálculos.
Puedo copiar los valores requeridos en el Buffer (sin 5 valores MA a la derecha) sólo si paso -2*ma_shift en CopyBuffer para start_pos.
Esa es la pregunta original: de dónde viene el doble desplazamiento negativo. Por favor, aclárese. Tal vez sea un error, o tal vez sea una característica de MQL5.
El cambio es simplemente un cambio en la visualización de la máscara. El valor más a la derecha estará en el Buffer[0]. Si quieres saber el valor de la barra cero, estará en el Buffer[0 + shift].
Si lo quieres sin + shift, especifica 0 + shift enCopyBuffer(), entonces Buffer[0] contendrá el valor deseado.
¿Puedes decirme qué inluder debo conectar para llegar a la función MathCorrelationKendall()?
Conéctate:
#include <Math\Stat\Math.mqh>
Conéctate:
Gracias.
Todo esto está claro. Pregunta - ¿Qué posición inicial debe especificarse en CopyBuffer() para obtener "sin + desplazamiento" en sus términos?
Ves que no se te entiende. En este caso, es habitual hacer un dibujo. Todavía no está claro lo que quiere conseguir.
Añadido: El dibujo debe mostrar CUÁL debe ser el resultado.
Ya había un dibujo. Lo repetiré.
Quieres que el Buffer[0] tenga el valor MA correspondiente a la línea vertical roja.
El búfer[1] debe tener el valor MA a la izquierda de la línea roja. Y así sucesivamente.
Y todo está en el indicador.
Todo esto es comprensible. Pregunta - ¿qué posición de inicio para especificar en CopyBuffer para obtener en sus términos "sin + shift"?
El valor que se añade para el desplazamiento de MA es 1.