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

 
Artyom Trishkin:

En el bucle, cuando n==0 imprime el tiempo de la barra n - inmediatamente entenderá de dónde parte el bucle.

Parece que todo se muestra correctamente.


 
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 la inspección con la vela actual y termina en cuanto encuentra un valor no vacío.

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

Inicia la inspección con la vela actual y termina en cuanto encuentra un valor no vacío.

¿Qué pasa entonces?

 
Artyom Trishkin:

¿Qué pasa entonces?

 
Sergey Voytsekhovsky:
¿Qué es?
 

Con los escaneos todo está bien, se ve donde tiene que ir y cuando tiene que ir.

Pero ya hay una nueva flecha en el gráfico, pero aún no es visible en los comentarios, en las impresiones.


 
Artyom Trishkin:
¿Qué hay ahí?

Se destaca en azul que se encuesta tanto según tu opción (n==0) como la mía (justo después de la tuya) - desde el inicio de una nueva vela. Es correcto, creo.

Pero ya hay una flecha hacia abajo tres velas atrás, y los índices de las velas con las flechas más externas 12 y 57 en las impresiones y los comentarios.

 
Sergey Voytsekhovsky:

Con los escaneos todo está bien, se ve donde tiene que ir y cuando tiene que ir.

Pero ya hay una nueva flecha en el gráfico, pero aún no es visible en los comentarios, en las impresiones.


¿A qué hora es esta nueva flecha y a qué hora comienza el ciclo?

Tienes que lidiar con tu propio código. O bien imprimes todos los valores y entiendes de dónde vienen, o pones un punto de interrupción y vas al depurador y ves todos los valores en cada paso. Pero no creo que necesites el depurador todavía...

Razón de la queja: