Erreurs, bugs, questions - page 378

 

Pourquoi l'expression "if(ichi.TenkanSen(i)< ichi.KijunSen(i))" renvoie TOUJOURS (sur toutes les bougies) un faux, même lorsque "if(ichi.TenkanSen(i)> ichi.KijunSen(i))" ? On dirait un problème dans la bibliothèque standard. Le code complet est dans le fichier.

Comment(DoubleToString(ichi.TenkanSen(0),5));

Sur l'euro-dollar il sort

Dossiers :
Ich_1.mq5  3 kb
 
Graff:

Pourquoi l'expression "if(ichi.TenkanSen(i)< ichi.KijunSen(i))" renvoie TOUJOURS (sur toutes les bougies) un faux, même lorsque "if(ichi.TenkanSen(i)> ichi.KijunSen(i))" ? On dirait un problème dans la bibliothèque standard. Code complet dans le fichier

Premièrement, TerminalInfoInteger(TERMINAL_MAXBARS) - vous ne pouvez pas faire cela.

remplacer par rates_total


Deuxièmement, oui, il y a une erreur que m_data_total all the time =0. Par conséquent, nous n'avons pas de valeurs.

 
sergeev:

tout d'abord TerminalInfoInteger(TERMINAL_MAXBARS) - vous ne pouvez pas faire cela.

remplacer par rates_total

Je l'ai remplacé par for(int i=0 ; i<=rates_total-1 ; i++) en substance, rien n'a changé.
 
Deuxièmement, oui, il y a une erreur, m_data_total =0 tout le temps. C'est pourquoi il n'y a pas de valeurs.
 
sergeev:

Deuxièmement, oui, il y a une erreur, m_data_total =0 tout le temps. Il n'y a donc pas de valeurs.
J'ai essayé de changer les valeurs dans Commentaire(DoubleToString(ichi.TenkanSen(3),5)) ; sur 1,2,3 dans Commentaire est constamment le même. Peut-être qu'il faut faire des ajustements pour que ça marche et que le correctif officiel n'attende pas.
 
Graff:
J'ai essayé de changer les valeurs dans Commentaire(DoubleToString(ichi.TenkanSen(3),5)) ; en 1,2,3 dans Commentaire affiche constamment la même chose. Pouvez-vous suggérer ce tweak pour le faire fonctionner, puis le correctif officiel attendre pour aucune occasion.
N'utilisez pas cette classe. Prenez la poignée habituelle.
 
sergeev:
N'utilisez pas cette classe. Prenez la poignée normale.

Vous n'êtes pas très à l'aise pour l'utiliser...

OK, merci de votre attention, j'attends le correctif.

 
Graff:

Ce n'est pas très confortable à utiliser...

OK, merci de votre attention, j'attends le correctif.

vous ne pensez pas que c'est confortable ? :)

int ich;

//+------------------------------------------------------------------+
int OnInit()
  {
   ich=iIchimoku(_Symbol,_Period, TenkanSen, KijunSen, SenkoSpan);
   return(0);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
    IndicatorRelease(ich);
  }
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   double ten[]; CopyBuffer(ich, 0, 0, rates_total, ten);
   double kij[]; CopyBuffer(ich, 1, 0, rates_total, kij);
   for(int i=0; i<rates_total; i++)
     {
      if(ten[i]<kij[i]) { up.Create(0,"Tenkan>Kijun"+IntegerToString(i),0,time[i],low[i]); up.Color(clrLimeGreen); }
      else { down.Create(0,"Tenkan<Kijun"+IntegerToString(i),0,time[i],high[i]); down.Color(clrTomato); }
     }
   return(rates_total);
  }
 
sergeev:

Ce n'est pas confortable ? :)


Je ne suis pas un programmeur et je ne suis pas très à l'aise avec cet arrangement.

Est-ce que cela a un sens de changer

CopyBuffer(ich, 1, 0, rates_total, kij);

Remplacer rates_total par BarsCalculated(ich) ?

PS : Et de quelle ville êtes-vous originaire, si ce n'est d'un secret ?

 
Graff:


OK, merci de votre attention, j'attends la correction.

Au fait, êtes-vous sûr que vous n'avez pas besoin d'appeler des fonctions supplémentaires ?

La bibliothèque dispose à la fois de Refresh et de BufferResize. Il me semble qu'ils sont nécessaires à un fonctionnement normal.