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

 
Sergey Voytsekhovsky:

Se você não consegue ver o log na foto, aqui estão algumas das entradas mais recentes

Desculpe, houve um erro em Print() para a seta para baixo, o tempo da seta para cima estava sendo substituído, corrigido, mas isso não importa agora.

 
Sergey Voytsekhovsky:

se você não consegue ver o diário de bordo na foto, aqui estão algumas das entradas mais recentes

A hora da vela mais à direita é 10:00 na tabela horária?

 
Alexey Viktorov:

A hora da vela mais à direita é 10:00 na tabela horária?

É disso que estou falando, o Conselheiro Especialista não consegue ver a vela de borda, e eu não consigo chegar ao erro, então eu estou gritando por ajuda

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

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

Aqui está uma foto da impressão corrigida() para a seta para baixo


 
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
         ); 
  }
Arquivos anexados:
 
Sergey Voytsekhovsky:

Você fez o ArraySetAsSeries() em ambas as matrizes?

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

Você fez o ArraySetAsSeries() em ambas as matrizes?

Sim, 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);
  }

Notei que no indicadoriCustom ativado em paralelo no gráfico, as setas no gráfico principal não aparecem. Pode ser a razão?

 
Sergey Voytsekhovsky:

Sim, a ambos.

Notei que no indicadoriCustom ativado em paralelo no gráfico, as setas no gráfico principal não aparecem. Pode ser esta a razão,...?

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

 
Sergey Voytsekhovsky:

Sim, a ambos.

Notei que no indicadoriCustom ativado em paralelo no gráfico, as setas no gráfico principal não aparecem. Pode ser esta a razão?

Removi e voltei a colocar o indicador, apareceram setas, a EA ainda não vê a seta

 
Sergey Voytsekhovsky:

Desceu e colocou o indicador para cima, apareceram setas, a EA ainda não vê a seta no final

Eu compilei o Expert Advisor - as setas do indicador de execução paralela no gráfico principal desapareceram. Algum tipo de hobgoblin já começou ou o quê?