Como puedes ver - hay diez órdenes, pero sus índices son 1 menos, porque en cualquier array la cuenta empieza desde cero.
OrdersTotal() es 10, pero si empiezas un bucle con OrdersTotal(), se saldrá de la matriz - no hay índice para la orden 10 - el índice mayor es 9 - así que OrdersTotal()-1
Esto se debe a que se cuenta desde 0. Si tiene 10 pedidos, los números ordinales de conteo deben ser 0...9, es decir, 0...(10-1), dondeOrdersTotal()=10.
Tenlo en cuenta a la hora de escribir los programas.
Vitaly Muzichenko: Imprime mediante Print() y no tendrás estas preguntas, no es difícil.
Gracias... Lo tengo... Sólo pensé que el recuento deOrdersTotal también incluía el cero ... Entonces me equivoqué, escribí así(int i=OrdersTotal(); i>-1; i--) y no funcionó correctamente.
¡Hola! En la documentación, en el artículo "Estilos de indicadores en los ejemplos" dice : Pordefecto, el búfer del indicador se utiliza para almacenar los datos a dibujar (INDICATOR_DATA).
Si el cálculo de los valores de los indicadores requiere cálculos intermedios y el almacenamiento de un valor auxiliar para cada barra, puede declarar tal matriz como un buffer de cálculo ( INDICATOR_CALCULATIONS) al enlazar.
Ninguno de los 18 ejemplos dados de construcciones en MQL5 demuestra elarray de buffer de cálculo ( INDICATOR_CALCULATIONS). Por favor, indique dónde más se puede leer sobre este tema.
Leo59: ¡Hola! En la documentación, en el artículo "Estilos de indicadores en los ejemplos" dice : Pordefecto, el búfer del indicador se utiliza para almacenar los datos a dibujar (INDICATOR_DATA).
Si el cálculo de los valores de los indicadores requiere cálculos intermedios y el almacenamiento de un valor auxiliar para cada barra, puede declarar tal matriz como un buffer de cálculo ( INDICATOR_CALCULATIONS) al enlazar.
Ninguno de los 18 ejemplos dados de construcciones en MQL5 demuestra elarray de buffer de cálculo ( INDICATOR_CALCULATIONS). Por favor, díganme dónde más puedo leer sobre esto.
Piensa en ello como un array dinámico normal para almacenar datos de cálculo intermedios. No es necesario que aumentes/disminuyas su tamaño: el terminal cliente lo hará por ti. Los datos de un array-buffer de este tipo no se mostrarán en un gráfico - esa es la diferencia entre DATOS y CÁLCULOS
Artyom Trishkin: Piensa en ello como un array dinámico normal para almacenar cálculos intermedios. No es necesario que lo controles y aumentes/disminuyas su tamaño, el terminal lo hará por ti. Los datos de dicho array-buffer no se mostrarán en un gráfico - esa es la diferencia entre DATOS y CÁLCULOS.
¿Dónde hay un código de muestra para mayor claridad?
Artyom Trishkin: Piensa en ello como un array dinámico normal para almacenar cálculos intermedios. No es necesario que lo controles y aumentes/disminuyas su tamaño, el terminal lo hará por ti. Los datos de un array-buffer de este tipo no se imprimirán en un gráfico - esta es la diferencia entre DATOS y CÁLCULOS.
Si el indicador #property indicator_chart_window - esto es correcto, no se emite. Pero si el indicador #property indicator_separate_window - es la salida por alguna razón.
Como puedes ver - hay diez órdenes, pero sus índices son 1 menos, porque en cualquier array la cuenta empieza desde cero.
OrdersTotal() es 10, pero si empiezas un bucle con OrdersTotal(), se saldrá de la matriz - no hay índice para la orden 10 - el índice mayor es 9 - así que OrdersTotal()-1
Gracias... Lo tengo... Gracias.
Esto se debe a que se cuenta desde 0. Si tiene 10 pedidos, los números ordinales de conteo deben ser 0...9, es decir, 0...(10-1), dondeOrdersTotal()=10.
Tenlo en cuenta a la hora de escribir los programas.
Gracias... Lo tengo...
Imprime mediante Print() y no tendrás estas preguntas, no es difícil.
Gracias... Lo tengo... Sólo pensé que el recuento deOrdersTotal también incluía el cero ... Entonces me equivoqué, escribí así(int i=OrdersTotal(); i>-1; i--) y no funcionó correctamente.
En la documentación, en el artículo "Estilos de indicadores en los ejemplos" dice :
Pordefecto, el búfer del indicador se utiliza para almacenar los datos a dibujar (INDICATOR_DATA).
Si el cálculo de los valores de los indicadores requiere cálculos intermedios y el almacenamiento de un valor auxiliar para cada barra, puede declarar tal matriz como un buffer de cálculo ( INDICATOR_CALCULATIONS) al enlazar.
Ninguno de los 18 ejemplos dados de construcciones en MQL5 demuestra elarray de buffer de cálculo ( INDICATOR_CALCULATIONS).Por favor, indique dónde más se puede leer sobre este tema.
¡Hola!
En la documentación, en el artículo "Estilos de indicadores en los ejemplos" dice :
Pordefecto, el búfer del indicador se utiliza para almacenar los datos a dibujar (INDICATOR_DATA).
Si el cálculo de los valores de los indicadores requiere cálculos intermedios y el almacenamiento de un valor auxiliar para cada barra, puede declarar tal matriz como un buffer de cálculo ( INDICATOR_CALCULATIONS) al enlazar.
Ninguno de los 18 ejemplos dados de construcciones en MQL5 demuestra elarray de buffer de cálculo ( INDICATOR_CALCULATIONS).Por favor, díganme dónde más puedo leer sobre esto.
Piensa en ello como un array dinámico normal para almacenar cálculos intermedios. No es necesario que lo controles y aumentes/disminuyas su tamaño, el terminal lo hará por ti. Los datos de dicho array-buffer no se mostrarán en un gráfico - esa es la diferencia entre DATOS y CÁLCULOS.
Piensa en ello como un array dinámico normal para almacenar cálculos intermedios. No es necesario que lo controles y aumentes/disminuyas su tamaño, el terminal lo hará por ti. Los datos de un array-buffer de este tipo no se imprimirán en un gráfico - esta es la diferencia entre DATOS y CÁLCULOS.
¿Dónde hay un ejemplo de código de trabajo para mayor claridad?
Y el que diste.... Por ejemplo la línea 87 : maHandle=iMA(Symbol(),0,ExtPeriod,0,MODE_EMA,PRICE_CLOSE);
Bueno, ¿qué importa?