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

 
Artyom Trishkin:

No laço, quando n==0 imprimir o tempo da barra n - você entenderá imediatamente de onde o laço começa.

Parece mostrar tudo corretamente.


 
void OnTick()
  {
   if (CopyBuffer(CrossAD, 1, 0, period_find, Buf_Arrow_Buy) != period_find)
      {  
         Print("НЕ удалось правильно скопировать данные из 1-го буфера индикатора iCrossAD, error code %d",GetLastError());
         return;
      }
         for(int n=0; n<(int)period_find; n++)
            {
               if(Buf_Arrow_Buy[n]==EMPTY_VALUE)
                  Print("Last_Arrow_Buy_index n==",n," Last_Arrow_Buy_time = ",iTime(_Symbol,0,n));
               if(Buf_Arrow_Buy[n]!=EMPTY_VALUE)
               {
                  Last_Arrow_Buy_volume = iOpen(_Symbol,_Period,n);
                  Last_Arrow_Buy_time   = iTime(_Symbol,0,n);
                  Last_Arrow_Buy_index  = n;
                  Print("Last_Arrow_Buy_volume = ",Last_Arrow_Buy_volume,", Last_Arrow_Buy_index = ",Last_Arrow_Buy_index,", Last_Arrow_Buy_time = ",Last_Arrow_Buy_time);
                  break;
               }   
            }
         
   if (CopyBuffer(CrossAD, 2, 0, period_find, Buf_Arrow_Sell) != period_find)
      {  
         Print("НЕ удалось правильно скопировать данные из 2-го буфера индикатора iCrossAD, error code %d",GetLastError());
         return;
      }
         for(int n=0; n<(int)period_find; n++)
            {
               if(Buf_Arrow_Sell[n]==EMPTY_VALUE)
                  Print("Last_Arrow_Sell_index n==",n," Last_Arrow_Sell_time = ",iTime(_Symbol,0,n));
               if(Buf_Arrow_Sell[n]!=EMPTY_VALUE)
               {
                  Last_Arrow_Sell_volume = iOpen(_Symbol,_Period,n);
                  Last_Arrow_Sell_time   = iTime(_Symbol,0,n);
                  Last_Arrow_Sell_index  = n;
                  Print("Last_Arrow_Sell_volume = ",Last_Arrow_Sell_volume,", Last_Arrow_Sell_index = ",Last_Arrow_Sell_index,", Last_Arrow_Sell_time = ",Last_Arrow_Sell_time);
                  break;
               }
            }
      
Comment("-------------------------", 
         "\n Last_Arrow_Buy_volume     = ",Last_Arrow_Buy_volume,
         "\n Last_Arrow_Buy_index        = ",Last_Arrow_Buy_index,
         "\n Last_Arrow_Buy_time         = ",Last_Arrow_Buy_time,
         "\n ---------------------- ",
         "\n Last_Arrow_Sell_volume     = ",Last_Arrow_Sell_volume,
         "\n Last_Arrow_Sell_index        = ",Last_Arrow_Sell_index,
         "\n Last_Arrow_Sell_time         = ",Last_Arrow_Sell_time
         ); 
  }
 

Inicia a inspeção com a vela atual e termina assim que encontra um valor não vazio.

 
Sergey Voytsekhovsky:
if(n==0)
   Print("Last_Arrow_Sell_index n==",n," Last_Arrow_Sell_time = ",iTime(_Symbol,0,n));
 
Sergey Voytsekhovsky:

Inicia a inspeção com a vela atual e termina assim que encontra um valor não vazio.

O que há de errado então?

 
Artyom Trishkin:

O que há de errado então?

 
Sergey Voytsekhovsky:
O que é isso?
 

Com as varreduras tudo está bem, parece onde precisa ir e quando precisa ir.

Mas já existe uma nova seta no gráfico, mas ainda não é visível nos comentários, nas impressões.


 
Artyom Trishkin:
O que há lá?

É destacado em azul que ele pesquisa tanto de acordo com sua opção (n==0) quanto com a minha (logo após a sua) - desde o início de uma nova vela. É correto, eu acho.

Mas já há uma seta para baixo três castiçais de volta, e os índices dos castiçais com as setas mais externas 12 e 57 nas impressões e nos comentários.

 
Sergey Voytsekhovsky:

Com as varreduras tudo está bem, parece onde precisa ir e quando precisa ir.

Mas já existe uma nova seta no gráfico, mas ela ainda não é visível nos comentários, nas impressões.


A que horas esta nova flecha e a que horas o ciclo começa?

Você tem que lidar com seu próprio código. Ou você imprime todos os valores e entende de onde eles vêm, ou você coloca um ponto de parada e vai até o depurador e vê todos os valores em cada etapa. Mas acho que ainda não precisa do depurador...