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
ilunga:
P.D. ¿Estoy en lo cierto al suponer que en mi código (y en el tuyo) bar_info[1] es el máximo de la barra actual?
Nadie ha dicho nada sobre el bar actual. :)
Acabo de rehacer tu ejemplo. Si quieres exactamente la barra actual, tienes que hacerlo:
1. definir la dirección de las series de la matriz (0 bar - actual o más alto).
Si, como en nuestro caso, el array se desplaza fuera, puedes hacerlo una vez en el bloque de inicialización. Si ocultamos la matriz en una función, la definimos en su lugar.
2. Si la matriz se declara como una serie, la barra actual será cero, y la que se cerró antes será 1.
Al menos, según recuerdo.
Puede que me haya perdido algo, pero para que se abra en la barra actual (teniendo en cuenta todos los añadidos) debería ser así.
¡Mueve la matriz a la función!
Y nadie ha dicho nada sobre el actual. :)
Acabo de rehacer tu ejemplo. Si necesitas el actual, tienes que hacerlo:
1. Definir la dirección de la serie de array (0 bar - actual o el último).
Si, como en nuestro caso, el array se desplaza fuera, puedes hacerlo una vez en el bloque de inicialización. Si ocultamos la matriz en una función, la definimos en su lugar.
2. Si la matriz se declara como una serie, la barra actual será cero, y la barra cerrada antes será 1.
Al menos como yo lo recuerdo.
He ampliado el array a 3 elementos. Tengo un desajuste entre el precio actual y lo que hay. Esta es la razón más probable.
Resultados (las pruebas se realizaron con el GBPUSD):
Obtenemos que tanto el Ask como el Bid son mayores que el máximo de cero y mayores que el máximo de la segunda barra
Si ejecutamos la prueba en el EURUSD, todo está bien:
Tengo la sensación de que al probar "no mi" par la situación "la información en las barras se ha actualizado, pero la garrapata está ausente todavía".
He ampliado el array a 3 elementos. Obtengo inconsistencia entre el precio actual y el contenido del array. Esa es la razón más probable.
Resultados:
Obtenemos que tanto el Ask como el Bid son mayores que el máximo de la barra cero y mayores que el máximo de la segunda barra
No consideras la serialidad de los arrays, en tu código. Nadie puede garantizar que con este resultado el listón 0 no esté en, digamos, el año 2000.
He dado el código de arriba es adecuado para todos los TFs en la variante de la matriz.
Este código está ahí por una razón.
Si sólo necesita un marco de tiempo diario (D1 ) para identificar el máximo de la barra no necesita tratar con la matriz en absoluto, sólo cambiar la primera parte de la función a esta
No consideras la serialidad de los arrays en tu código. Nadie puede garantizar que en este resultado la barra 0 no esté en, digamos, el año 2000.
He dado el código de arriba es adecuado para todos los TFs en la variante de la matriz.
Este código está ahí por una razón
No consideras la serialidad de los arrays en tu código. Nadie puede garantizar que en este resultado la barra 0 no esté en digamos 2000.
He dado el código de arriba es adecuado para todos los TFs en la variante de la matriz.
Este código está ahí por una razón.
Bien, haz que el array sea dinámico.
En lugar de xxx ponemos verdadero y falso.
Los resultados:
и
El orden en la matriz se cambia, el resultado no. La oferta es mayor que la barra máxima [0] de la matriz
¿ArraySetAsSeries sólo para matrices dinámicas?
Para ser sincero, no lo recuerdo. Pero el resultado de ese código, que he citado anteriormente coincide con lo que obtenemos (para el euro el precio de apertura es 1,24516 para la libra 1,56721)
Aunque sí, funciona bien sin ArraySetAsSeries en este punto
PS
Es decir, si se quiere obtener la barra actual, se copian innecesariamente tres barras en el array de esta línea.
PS
Por ejemplo, si necesitas obtener la barra actual, en vano copias tres barras en esta línea al array
Gracias. Esta opción funciona sin errores y es totalmente suficiente en este caso.
Sin embargo, la pregunta que queda en el aire es cómo la Oferta puede ser mayor que el máximo =(
ilunga:
Sin embargo, la pregunta que queda en el aire es cómo la Oferta puede ser mayor que el máximo =(
En primer lugar, hay que determinar para qué periodo se toma este máximo.
Si la matriz se declara como double bar_info[n] entonces la barra actual en ella será el índice mayor.
si n = 2 este código funcionará con la barra diaria de ayer
y esta otra con la barra actual
Es decir, si se copian varias barras, se debe disponer algo así para obtener la barra actual (aunque puede ser necesario realizar comprobaciones adicionales de cuántas barras se han copiado en el array)
Lo primero que hay que hacer es definir para qué periodo se toma este máximo.
Si la matriz se declara como double bar_info[n] entonces la barra actual en ella será el índice mayor.