Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1727

 
Ivan Butko #:

Gracias.

Escribí Print("La cuenta de barras en el 'EURUSD,M1' es ",iBars("EURUSD",PERIOD_M1));, tomado de la documentación. He imprimido el número 1001 en el registro))) Aunque el historial está cargado, el máximo es de más de 1000000 barras en la configuración.

Por favor, aconseje cómo resolver el problema

Descargar la historia

2021.11.08 11:02:11.919 !Print_Magic EURUSD,M30: Bar count on the 'EURUSD,M1' is 73589
 
MakarFX #:
descargar la historia.

Cargado, en su totalidad. Entré en el archivo, hay 8.000.000 barras de minutos
Y el registro dice

EURUSD,M1: Bar count on the 'EURUSD,М1' is 1001


 
Ivan Butko #:

Cargado, en su totalidad. Entré en el archivo, hay 8.000.000 barras de minutos
Y el registro dice

EURUSD,M1: Bar count on the 'EURUSD,М1' is 1001


 
Ivan Butko #:

Gracias.

Escribí Print("La cuenta de barras en el 'EURUSD,M1' es ",iBars("EURUSD",PERIOD_M1));, lo tomé de la documentación. El terminal registró el número 1001). Aunque el historial está cargado, el máximo es de más de 1000000 barras en la configuración.

Por favor, aconseje cómo resolver el problema

en el probador siempre 1000 bares al inicio (o menos).

 
MakarFX #
int n=10;
   datetime bar_sig;
   for(int i=n;i>=0;i--)
     {
      if(iCustom(NULL,0,"Твой индикатор",0,n)=="Сигнал")
         bar_sig=time[n];
     }

Este código muestra la señal en la décima vela, pero necesito comprobar la señal en cada vela de 1 a N.

 
Snajper007 #:

Este código muestra la señal en la décima vela, pero necesito comprobar la señal en cada vela de 1 a N.

No, este código comprueba 10 velas y muestra cuál fue la señal
 
MakarFX #:
No, este código comprueba 10 velas y muestra en cuál estaba la señal
En la práctica sólo se muestra cuando la vela de señal se convierte en la 10ª.
 
Snajper007 #:
En la práctica sólo se muestra cuando la vela de señal se convierte en la 10ª.
Código de estudio
 
int n=10;
   datetime bar_sig_buy, bar_sig_sell;

   for(int i=n;i>=0;i--)
     {
     // для покупок
   double a1 = iCustom(NULL, 0, "FL11", 4, n);
   // для продаж 
   double a2 = iCustom(NULL, 0, "FL11", 5, n);


      if(a1 > 0)
         bar_sig_buy=Time[n];
         
      if(a2 > 0)
        bar_sig_sell = Time[n];
     Comment("bar_sig_sell = " + DoubleToString(bar_sig_sell)+ "\n" +
     "bar_sig_buy = " + DoubleToString(bar_sig_buy));

     }
 

MakarFX, aquí está una captura de pantalla Tan pronto como la vela de la señal se convirtió en el 10, el valor fue mayor que cero. Y antes era igual a cero.