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

 
Sergey Voytsekhovsky:

Si no puedes ver el registro en la imagen, aquí tienes algunas de las entradas más recientes

Perdón, había un error en Print() para la flecha hacia abajo, se estaba sustituyendo el tiempo de la flecha hacia arriba, lo corregí, pero ya no importa.

 
Sergey Voytsekhovsky:

si no puedes ver el cuaderno de bitácora en la foto, aquí tienes algunas de las entradas más recientes

¿Es la hora de la vela más a la derecha 10:00 en el gráfico horario?

 
Alexey Viktorov:

¿Es la hora de la vela más a la derecha 10:00 en el gráfico horario?

Eso es lo que estoy hablando, el Asesor Experto no puede ver la vela de borde, y no puedo llegar al error, así que estoy gritando por ayuda

https://www.mql5.com/ru/forum/160683/page848#comment_11761231

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.20
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 

Aquí hay una imagen del Print() corregido para la flecha hacia abajo


 
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)
               {
                  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)
               {
                  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
         ); 
  }
Archivos adjuntos:
 
Sergey Voytsekhovsky:

¿Has hecho ArraySetAsSeries() en ambas matrices?

Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
//| Custom indicator initialization function                         | //| Custom indicator iteration function                              |
 
Artyom Trishkin:

¿Has hecho ArraySetAsSeries() en ambas matrices?

Sí, a ambos.

int OnInit()
  {
   ArraySetAsSeries(Buf_Arrow_Buy, true);
   ArraySetAsSeries(Buf_Arrow_Sell, true);
//---
   CrossAD = iCustom(asymbol.Name(), _Period, "iCrossAD");
   if (CrossAD == INVALID_HANDLE)
   {
      Print("Не удалось создать описатель индикатора iCrossAD!");
      return(INIT_FAILED);
   }
      else Print("Хендл iCrossAD = ",CrossAD);
//---
   return(INIT_SUCCEEDED);
  }

Me he dado cuenta de que en el indicadoriCustom activado en paralelo en el gráfico, las flechas del gráfico principal no aparecen.¿Puede ser la razón?

 
Sergey Voytsekhovsky:

Sí, a ambos.

Me he dado cuenta de que en el indicadoriCustom activado en paralelo en el gráfico, las flechas del gráfico principal no aparecen.¿Puede ser esta la razón...?

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

 
Sergey Voytsekhovsky:

Sí, a ambos.

Me he dado cuenta de que en el indicadoriCustom activado en paralelo en el gráfico, las flechas del gráfico principal no aparecen.¿Puede ser esta la razón?

He quitado y puesto el indicador, han aparecido las flechas, el EA sigue sin ver la flecha

 
Sergey Voytsekhovsky:

Lo bajé y volví a poner el indicador, aparecieron las flechas, el EA sigue sin ver la flecha al final

He compilado el Asesor Experto - las flechas del indicador de funcionamiento paralelo en el gráfico principal han desaparecido. ¿Ha empezado algún tipo de hobgoblin o qué?