Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1015

 

Hallo, schimpfen Sie mich bitte nicht zu sehr, ich lerne gerade die Sprache und OOP im Allgemeinen.

Können Sie mir sagen, warum, wenn ich versuche, die gesamte Formel zu multiplizieren, die ExtATRBuffer[i]=.... Wenn ich mit 1 multipliziere, wird der tatsächliche Wert auf dem Diagramm angezeigt, wenn ich mit einem Bruchteil von 0,5 multipliziere, d.h. einige Werte weichen von der Nulllinie nach oben und unten ab.

Was sollte ich tun, um Fehler zu vermeiden?

Für die endgültige Rechnung wird der tatsächliche ATP-Wert mit einer Konstante multipliziert, die geändert werden kann...

danke an alle, die geantwortet haben!!!

//+------------------------------------------------------------------+
//| Average True Range                                               |
//+------------------------------------------------------------------+
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[])
  {
   int i,limit;
//--- check for bars count
   if(rates_total<=ExtPeriodATR)
      return(0); // not enough bars for calculation
//--- preliminary calculations
   if(prev_calculated==0)
     {
      ExtTRBuffer[0]=0.0;
      ExtATRBuffer[0]=0.0;
      //--- filling out the array of True Range values for each period
      for(i=1;i<rates_total && !IsStopped();i++)
         ExtTRBuffer[i]=MathMax(high[i],close[i-1])-MathMin(low[i],close[i-1]);
      //--- first AtrPeriod values of the indicator are not calculated
      double firstValue=0.0;
      for(i=1;i<=ExtPeriodATR;i++)
        {
         ExtATRBuffer[i]=0.0;
         firstValue+=ExtTRBuffer[i];
        }
      //--- calculating the first value of the indicator
      firstValue/=ExtPeriodATR;
      ExtATRBuffer[ExtPeriodATR]=firstValue;
      limit=ExtPeriodATR+1;
     }
   else limit=prev_calculated-1;
//--- the main loop of calculations
   for(i=limit;i<rates_total && !IsStopped();i++)
     {
      ExtTRBuffer[i]=MathMax(high[i],close[i-1])-MathMin(low[i],close[i-1]);
      ExtATRBuffer[i]=ExtATRBuffer[i-1]+(ExtTRBuffer[i]-ExtTRBuffer[i-ExtPeriodATR])/ExtPeriodATR;

   // ExtATRBuffer[i]=(ExtATRBuffer[i-1]+(ExtTRBuffer[i]-ExtTRBuffer[i-ExtPeriodATR])/ExtPeriodA)*4;
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Ich danke Ihnen allen! Hilfe zum Verstehen : Testfehler: 2019.12.04 14:14:40.097 TestGenerator: Nicht übereinstimmende Datenfehler (Hochwert 0.71570 am 2019.01.21 23:30 wird nicht vom niedrigsten Zeitrahmen erreicht, Hochpreis 0.71560 stimmt nicht überein)
 
Ilzadjan Akhmedov:
Ich danke Ihnen allen! Hilfe zum Verstehen : Testfehler: 2019.12.04 14:14:40.097 TestGenerator: Nicht übereinstimmende Datenfehler (Hochwert 0.71570 am 2019.01.21 23:30 wird nicht vom niedrigsten Zeitrahmen erreicht, Hochpreis 0.71560 stimmt nicht überein)

Laden Sie die Historie für das zu prüfende Gerät (F2)

 
Artyom Trishkin:

Laden Sie die Historie für das zu prüfende Gerät (F2)

Vielen Dank für Ihre Aufmerksamkeit! Geladen, aber jetzt lautet die Zusammenfassung: 2019.12.04 16: 00: 20.408 TestGenerator: Inkonsistente Datenfehler (Volumengrenze 409 überschritten am 2016.03.30 23: 45)

Dateien:
 
Ilzadjan Akhmedov:

Vielen Dank für Ihre Aufmerksamkeit! Heruntergeladen, aber jetzt ist die Zusammenfassung: 2019.12.04 16: 00: 20.408 TestGenerator: Inkonsistente Daten Fehler (Volumengrenze 409 überschritten am 2016.03.30 23: 45)

Laden Sie für jeden der Zeiträume den Verlauf herunter.

 
Artyom Trishkin:

Laden Sie für jeden der Zeiträume den Verlauf herunter.

Diese $600 Berater, Hat einen Test wieder nicht Handel. bitte sehen, was getan werden kann. Wenn Sie das Problem lösen, senden Sie bitte die Einstellungen!

Dateien:
 
Artyom Trishkin:

Versuchen Sie, eine Datei, die nicht existiert, mit FileOpen() zu öffnen...

Ich habe darüber gelesen. Der einzige Anhaltspunkt ist vielleicht dieser Satz: "Der Name der zu öffnenden Datei kann Unterordner enthalten. Wenn die Datei zum Schreiben geöffnet wird, werden die angegebenen Unterordner erstellt, falls keine vorhanden sind. "Aber selbst hier steht, dass es einige Unterordner gibt, vielleicht ist das ein Hinweis darauf, dass die Datei in diesem Verzeichnis in diesen Unterordnern erstellt wird, weil sie nicht normal geschrieben wird. Sie können normal schreiben, wenn keine Datei vorhanden ist, wird sie erstellt. Es ist nicht so, dass ich ein Wissenschaftler bin, der alle Details erraten kann. Ich verstehe immer noch nicht, wie viele Funktionen funktionieren, weil es keinen Funktionscode oder eine richtige Beschreibung gibt. Sie werfen dir einen bestimmten Knochen hin, und du weißt selbst, ob er essbar ist oder nicht.

 
Hallo, helfen Sie mir, dieses Problem zu lösen. Ich habe die Signale angeschlossen, einen Monat lang war alles in Ordnung, am Ende des Monats wurden meine Trades nicht korrekt in die Signale des Anbieters kopiert, jetzt wird die Losgröße nicht beachtet. was könnte das Problem mit der Losgröße sein, und warum die Signale nicht korrekt funktionieren, wo kann ich sehen, was ich anklicken muss?
 
Seric29:

Ich habe darüber gelesen. Der einzige Anhaltspunkt könnte in diesem Satz liegen: "Der Name der zu öffnenden Datei kann Unterordner enthalten. Wenn die Datei zum Schreiben geöffnet wird, werden die angegebenen Unterordner erstellt, falls keine vorhanden sind. "Aber selbst hier steht, dass es einige Unterordner gibt, vielleicht ist das ein Hinweis darauf, dass die Datei in diesem Verzeichnis in diesen Unterordnern erstellt wird, weil sie nicht normal geschrieben wird. Sie können normal schreiben, wenn keine Datei vorhanden ist, wird sie erstellt. Es ist nicht so, dass ich ein Wissenschaftler bin, der alle Details erraten kann. Ich verstehe immer noch nicht, wie viele Funktionen funktionieren, weil es keinen Funktionscode oder eine richtige Beschreibung gibt. Man wirft einen Knochen, und man weiß, ob er essbar ist oder nicht.

Wie begegnet man der Sonne am Morgen? Haben Sie die gesamte Astronomie studiert?

Standardfunktionen sind nicht dazu da, ihr Innenleben zu ergründen. Sie sind dafür, sie zu benutzen. Und die Beschreibung steht in der Dokumentation.

Ich habe Ihnen gesagt, Sie sollen FileOpen() verwenden, um eine neue Datei zu erstellen. Aber nein..., man muss einen zehnseitigen Refrain verfassen, anstatt ihn einfach nur zu nehmen und zu verwenden". Nun, manchmal kann man denen, die helfen, "Danke" sagen.

 

Hallo.

Will denn niemand etwas zu dem Bilder-Posting sagen?

Vielleicht ist es sinnvoll, sie in einen neuen Thread zu stellen, damit mehr Leute sie sehen? Wenn ja, bitten Sie die Moderatoren, sie zu veröffentlichen... Oder selbst eine erstellen?

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