Fehler, Irrtümer, Fragen - Seite 378

 

Warum Ausdruck "if(ichi.TenkanSen(i)< ichi.KijunSen(i))" IMMER (bei allen Kerzen) false zurückgibt, auch wenn "if(ichi.TenkanSen(i)> ichi.KijunSen(i))"? Es scheint sich um eine Panne in der Standardbibliothek zu handeln. Der vollständige Code befindet sich in der Datei.

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

Auf Euro/Dollar gibt er aus

Dateien:
Ich_1.mq5  3 kb
 
Graff:

Warum der Ausdruck "if(ichi.TenkanSen(i)< ichi.KijunSen(i))"? IMMER (bei allen Kerzen) false zurückgibt, auch wenn "if(ichi.TenkanSen(i)> ichi.KijunSen(i))"? Es scheint sich um eine Panne in der Standardbibliothek zu handeln. Vollständiger Code in der Datei

Erstens, TerminalInfoInteger(TERMINAL_MAXBARS) - das können Sie nicht tun.

ersetzen durch rates_total


Zweitens, ja, es ist ein Fehler, der m_data_total die ganze Zeit =0. Deshalb haben wir keine Werte.

 
sergeev:

erstens TerminalInfoInteger(TERMINAL_MAXBARS) - das geht nicht.

ersetzen durch rates_total

Ich habe sie durch for(int i=0; i<=rates_total-1; i++) ersetzt, und tatsächlich hat sich nichts geändert.
 
Zweitens, ja, es gibt einen Fehler, m_data_total =0 die ganze Zeit. Deshalb gibt es auch keine Werte.
 
sergeev:

Zweitens, ja, es gibt einen Fehler, m_data_total =0 die ganze Zeit. Daher gibt es keine Werte.
Versucht, Werte in Comment(DoubleToString(ichi.TenkanSen(3),5)) zu ändern; auf 1,2,3 in Comment ist ständig das gleiche. Vielleicht prompt, dass Tweak, damit es funktioniert, und die offizielle Fix warten auf keine Gelegenheit.
 
Graff:
Ich habe versucht, die Werte in Comment(DoubleToString(ichi.TenkanSen(3),5)); auf 1,2,3 in Comment zu ändern, und es wird ständig das Gleiche angezeigt. Können Sie vorschlagen, dass Tweak, damit es funktioniert, dann die offizielle Fix warten keine Chance.
Verwenden Sie diese Klasse nicht. Nehmen Sie die üblichen Handgriffe.
 
sergeev:
Verwenden Sie diese Klasse nicht. Nehmen Sie den normalen Griff.

Sie fühlen sich nicht sehr wohl dabei...

OK, danke für Ihre Aufmerksamkeit, ich warte auf die Korrektur.

 
Graff:

Es ist nicht sehr bequem zu benutzen...

OK, danke für Ihre Aufmerksamkeit, ich warte auf die Korrektur.

Sie glauben nicht, dass es bequem ist? :)

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:

ist das nicht bequem? :)


Ich bin kein Programmierer und fühle mich mit dieser Regelung nicht sehr wohl.

Ist es sinnvoll, die

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

Ersetzen Sie rates_total durch BarsCalculated(ich)?

PS: Und aus welcher Stadt kommst du, wenn das kein Geheimnis ist?

 
Graff:


OK, danke für die Aufmerksamkeit, ich warte auf die Lösung.

Sind Sie übrigens sicher, dass Sie keine zusätzlichen Funktionen aufrufen müssen?

Die Bibliothek verfügt sowohl über Refresh als auch BufferResize. Ich habe den Eindruck, dass sie für ein normales Funktionieren notwendig sind.