Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 849

 
Sergey Voytsekhovsky:

Si vous ne pouvez pas voir le journal dans l'image, voici quelques-unes des entrées les plus récentes

Désolé, il y avait une erreur dans Print() pour la flèche vers le bas, le temps de la flèche vers le haut était substitué, je l'ai corrigé, mais cela n'a plus d'importance maintenant.

 
Sergey Voytsekhovsky:

si vous ne pouvez pas voir le journal de bord sur la photo, voici quelques-unes des entrées les plus récentes

L'heure de la bougie la plus à droite est-elle 10:00 sur le graphique horaire ?

 
Alexey Viktorov:

L'heure de la bougie la plus à droite est-elle 10:00 sur le graphique horaire ?

C'est ce dont je parle, le conseiller expert ne peut pas voir la bougie de bordure, et je n'arrive pas à trouver l'erreur, donc j'appelle à l'aide.

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

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

Voici une image du Print() corrigé pour la flèche vers le bas.


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

Avez-vous fait ArraySetAsSeries( ) sur les deux tableaux ?

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

Avez-vous fait ArraySetAsSeries() sur les deux tableaux ?

Oui, aux deux.

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

J'ai remarqué que sur l'indicateuriCustom activé en parallèle sur le graphique, les flèches sur le graphique principal ne s'affichent pas. Peut-elle être la raison ?

 
Sergey Voytsekhovsky:

Oui, aux deux.

J'ai remarqué que sur l'indicateuriCustom activé en parallèle sur le graphique, les flèches sur le graphique principal ne s'affichent pas. Cela peut-il être la raison... ?

Dans la boucle, lorsque n==0, imprimez le temps de la barre n - vous comprendrez immédiatement où commence la boucle.

 
Sergey Voytsekhovsky:

Oui, aux deux.

J'ai remarqué que sur l'indicateuriCustom activé en parallèle sur le graphique, les flèches sur le graphique principal ne s'affichent pas. Cela peut-il être la raison ?

J'ai retiré et remis l'indicateur, les flèches sont apparues, mais l'EA ne voit toujours pas la flèche.

 
Sergey Voytsekhovsky:

Je l'ai démonté et remis en place l'indicateur, les flèches sont apparues, mais EA ne voit toujours pas la flèche à la fin.

J'ai compilé le conseiller expert - les flèches de l'indicateur de marche parallèle sur le graphique principal ont disparu. Une sorte de hobgobelin a commencé ou quoi ?

Raison: