[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 316

 

¿Alguien más, aparte de costy_ , entiende algo de IndicatorCounted, porque no ha entendido bien la esencia del problema?

Y como si lo hiciera, y como si no lo hiciera.

 
depth_finde писал(а) >>

¿Alguien más, aparte de costy_ , entiende algo de IndicatorCounted, porque no ha entendido bien el problema?

Y como si lo hiciera, y como si no tuviera una respuesta.

Qué hay que entender de ello. Durante el funcionamiento normal se comporta correctamente. En condiciones no normales (carga histórica) se comporta incorrectamente la mayoría de las veces, pero el resultado suele ser satisfactorio

 
depth_finde писал(а) >>

Este es mi primer mensaje en el foro. Estoy estudiando MQL4. No sé si ya existía esa pregunta, no la he encontrado. Creo que tengo que utilizar la función IndicatorCounted, pero no sé cómo hacerlo. He añadido citas para 300 000 y ahora cuando intento iniciar los cuelgues de los indicadores creo que debería especificar no todas las citas, sino sólo una determinada, por ejemplo 3000. Pero no quiero recalcular también todas las 3000, necesito IndicatorCounted. No sé cómo especificar la condición que mostraría sólo las últimas 3000 sin recalcular las ya pasadas.

Gracias por sus comentarios.

Lo repetiré.

 
depth_finde писал(а) >>

Lo diré de nuevo.

Ahora lo entiendo.

>> Ejemplo de implementación.

Archivos adjuntos:
 
depth_finde >> :

Otra vez.

En lugar de Bars, ponga su valor 300 o 100, o WindowBarsPerChart() La función devuelve el número de barras que caben en la ventana del gráfico actual (es decir, lo que es visible en la ventana)

 
Vinin писал(а) >>

Ahora lo entiendo.

Un ejemplo de aplicación

Muchas gracias, costy_ y gracias por la brusquedad.

 
depth_finde >> :

Otra vez.

Por ejemplo, puedes hacer esto:

int CountBars=3000;

int limit=Bars-IndicatorCounted()-1;
if( limit> CountBars) limit= CountBars;
   
for(int i=0; i< limit; i++)
   {
   Buffer[ i]=...;
   }

puede limitar el número de barras en la ventana.

Servicio-Configuración-Gráficos-Máximo de barras por ventana.

 
Urain >> :

Merece la pena, y en lugar de borrar, puedes poner ObjectCreate comprobando if(ObjectFind(RectangleSell)==-1){ ObjectCreate()}

y el resto sin comprobar, para no tener que borrar y volver a poner el objeto en cada tic.

En cuanto a las supresiones - el punto es que a medida que el número de barras aumenta, el rectángulo se hace más grande en la línea de tiempo(EndBoxTime)

mientras que el "StartBoxTime" para él permanece sin cambios. Por lo tanto, si se cumplen las condiciones y se forma una nueva barra, tenemos que borrar la anterior y dibujar un nuevo rectángulo en su lugar

dibujar un nuevo rectángulo en su lugar.

Gracias.

 
chief2000 >> :

En cuanto a las supresiones, la cuestión es que a medida que aumenta el número de barras, el rectángulo aumenta en la escala de tiempo(EndBoxTime)

mientras que el "StartBoxTime" para él permanece sin cambios. Por lo tanto, si se cumplen las condiciones y se forma una nueva barra, tenemos que borrar la anterior y dibujar un nuevo rectángulo en su lugar

dibujar un nuevo rectángulo en su lugar.

>> Gracias.

No tienes que borrarlo, sólo puedes cambiar los parámetros a través de ObjectSet.

ps Pero, en general, es usted quien tiene que ver con el estudio del caso.

 

Amigos, un consejo para quien sepa. Digamos que dibujo un indicador personalizado en el gráfico principal. Luego utilizo otro indicador personalizado que involucra al primer indicador a través de la función iCustom. ¿Puedo conectarlos para que cuando el parámetro del primer indicador cambie en el gráfico, el parámetro del segundo indicador personalizado cambie automáticamente?

Razón de la queja: