Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1727

 
Ivan Butko #:

Obrigado.

Escrevi Print("Bar count on the 'EURUSD,M1' is ",iBars("EURUSD",PERIOD_M1));, extraído da documentação. Eu imprimi o número 1001 no diário de bordo)))) Embora o histórico seja carregado, o máximo é mais de 1000000 barras nas configurações.

Favor aconselhar como resolver o problema

Baixar a história

2021.11.08 11:02:11.919 !Print_Magic EURUSD,M30: Bar count on the 'EURUSD,M1' is 73589
 
MakarFX #:
faça o download do histórico.

Carregado, na íntegra. Entraram no arquivo, há 8.000.000 de barras de minutos
e o diário de bordo diz

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


 
Ivan Butko #:

Carregado, na íntegra. Entraram no arquivo, há 8.000.000 de barras de minutos
e o diário de bordo diz

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


 
Ivan Butko #:

Obrigado.

Escrevi Print("Bar count on the 'EURUSD,M1' is ",iBars("EURUSD",PERIOD_M1));, tirei-o da documentação. O terminal registrou o número 1001). Embora o histórico seja carregado, o máximo é mais de 1000000 barras nas configurações.

Favor aconselhar como resolver o problema

no testador sempre 1000 barras no início (ou 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 mostra o sinal na 10ª vela, mas preciso verificar o sinal em cada vela de 1 a N.

 
Snajper007 #:

Este código mostra o sinal na 10ª vela, mas preciso verificar o sinal em cada vela de 1 a N.

Não, este código verifica 10 castiçais e mostra qual deles foi o sinal
 
MakarFX #:
Não, este código verifica 10 castiçais e mostra em qual deles o sinal estava
Na prática, ela só aparece quando a vela de sinalização se torna a décima.
 
Snajper007 #:
Na prática, ela só aparece quando a vela de sinalização se torna a décima.
Código de estúdio
 
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, aqui está uma captura de tela Assim que a vela de sinalização se tornou a 10ª, o valor era maior que zero. E antes disso, era igual a zero.

Razão: