Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 343

 
barabashkakvn:

Änderung des Berechnungscodes

zu

Das ist 13 oder 12 oder eine andere Zahl - dies sollte der Parameter "Zeitraum" sein. Mittelungszeitraum

Hurra!

Danke, es hat funktioniert. Warum ist dieser Parameter nicht im ursprünglichen Indikator enthalten? Sie ist standardmäßig voreingestellt, wissen Sie das?

Das heißt, ich stelle nur die Anzahl der Balken für die Mittelwertbildung ein und sonst nichts. Tatsächlich ist dies der einzige Parameter in der Quelle und wird in der Formel verwendet.

In der letzten Version habe ich zwei Parameter. Anzahl der Balken für die Mittelwertbildung und einer für die SmoothFactor-Berechnung.

 
Alvin1976:

Hurra!

Ich danke Ihnen. Aber warum ist dieser Parameter nicht im ursprünglichen Indikator enthalten? Wissen Sie, ob sie standardmäßig vorgeschrieben ist?

Das heißt, ich stelle nur die Anzahl der Balken für die Mittelwertbildung ein und das war's. Im Quellcode ist dies sogar der einzige Parameter, der in der Formel verwendet wird.

In der letzten Version habe ich zwei Parameter. Anzahl der Balken für die Mittelwertbildung und einer für die SmoothFactor-Berechnung.

Alles ist in dem Set enthalten. Siehe Indikatorcode "***\MQL5\Indicators\Examples\Custom Moving Average.mq5"
 
barabashkakvn:
Alles ist in Lieferung. Siehe Indikatorcode "***\MQL5\Indicators\Examples\Custom Moving Average.mq5".

Daher habe ich alles :-). Ich schätze, ich verstehe es einfach nicht.....

Dennoch stimmen die berechneten EMA-Werte aus irgendeinem Grund nicht mit den ursprünglichen Werten überein.

Vielleicht ist dieser in eine Funktion umgewandelte Indikator irgendwo verfügbar?

 
Alvin1976:

Daher habe ich alles :-). Ich schätze, ich verstehe es einfach nicht.....

Ich möchte ihn als Handle verwenden, und aus irgendeinem Grund stimmen die berechneten EMA-Werte nicht mit den Originalwerten überein.

Vielleicht gibt es irgendwo diesen Indikator, der in eine Funktion umgewandelt wurde?

Oder vielleicht ist es besser, in OnInit() des EA zwei Handles des iMA-Indikators mit verschiedenen Arten der Glättung zu erstellen und dann nur die Werte dieser Indikatoren zu erhalten?

 
barabashkakvn:

Oder ist es vielleicht besser, zwei Handles des iMA-Indikators mit verschiedenen Glättungsarten in OnInit() zu erstellen und dann nur die Werte dieser Indikatoren zu erhalten?

Ich habe es bereits versucht. MQL5 produziert einigen Unsinn durch Griffe. Zum Beispiel.

Bei der Ausgabe beim ersten Balken erhalten wir variable Werte, obwohl der Balken bereits gebildet wurde! Alles funktioniert gut in MQL4, aber hier ist ein Chaos.

     MAvarage1[ns] = INVALID_HANDLE;                        //-----------------------------------
   for (int i=0;i<10;i++) //10 попыток создать индикатор
      {
       MAvarage1[ns]=iMA(Symbols[ns],DopTF2,MAper1[ns],0,MAmet2,PRICE_CLOSE);
       if (MAvarage1[ns] == INVALID_HANDLE) Sleep(1000);
      }
              //Проверим handle 
   if (MAvarage1[ns] == INVALID_HANDLE) 
   {
    Print("Ошибка при создании MAvarage1! (№", GetLastError(), ")");
    return;
   } 

  Recount=false;
  if (CopyBuffer(MAvarage1[ns],0,0,2,MA1)<1) Recount=true;
  if (Recount){
  Print("Ошибка при копировании из индикатора ! (№", GetLastError(), ")");
  return;   
  }
  Print("MA1[1]=",MA1[1]);
 
Alvin1976:

Ich habe es bereits ausprobiert. MQL5 produziert einigen Unsinn durch Griffe. Zum Beispiel.

Auf diese Weise gibt der erste Balken variable Werte aus, obwohl der Balken bereits gebildet wurde! In MQL4 funktioniert alles gut, aber hier ist es furchtbar.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Fragen von Anfängern

Ich habe nie versucht, Handlestick im Handel zu verwenden, es ist zu früh, um es zu benutzen.

Oder vielleicht wäre es besser, zwei iMA-Indikator-Handles mit verschiedenen Arten der Glättung in OnInit() des EA zu erstellen und dann nur die Werte dieser Indikatoren erhalten?


 

Ich habe bereits eine Menge Probleme mit der Übertragung des Codes auf MQL5 gehabt. Das Problem liegt vor allem bei den Indikatoren. Die Stochastik erhält eine Art "linker" Werte.

Ich habe beschlossen, die Werte selbst zu berechnen.

Ich brauche MQL5 nur zur Optimierung der Geschwindigkeit und zur Überprüfung des Mehrwährungsmodus. Das ist alles!

Für etwas anderes ist sie nicht geeignet. Ich hoffe, dass kein Handelszentrum dieses "Wunder" jemals benutzen wird.

Ich habe mir die Variablenwerte ausgedacht! Es stellt sich heraus, dass CopyBuffer die Reihenfolge der Indizes umkehrt!

Warum sollte ich das tun?

 

Alvin1976:

...Aaah mit den variablen Werten herausgefunden! CopyBuffer vertauscht die Reihenfolge der Indizes!

Warum tue ich das?

Ich will den Indikator nicht fragen, was er nicht braucht ... Stellen Sie sich vor, Sie kommen an einen Kiosk. Und Sie wollen eine Zeitung für die letzten 3 Tage... Und sie sagen, wir verkaufen Ihre Zeitung, aber nur für die letzten 20 Tage... Brauchen Sie es? :-)
 
denkir:
Wenn Sie vermeiden wollen, den Indikator zu fragen, was Sie nicht brauchen... Stellen Sie sich vor, Sie kommen an einen Kiosk. Und Sie brauchen eine Zeitung der letzten 3 Tage. Und sie sagen: "Wir können Ihnen Ihre Zeitung verkaufen, aber nur für die letzten 20 Tage...". Brauchen Sie es? :-)

Nun, in MQL4 müssen Sie auch nicht zu viel verlangen. Es geht nicht um die Menge, es geht um die Reihenfolge.

Wo ist die Logik? Jeder hat sich daran gewöhnt, dass das Nullelement des Arrays der aktuelle Takt ist. Warum sollten Sie etwas ändern ????.

P.S. Ich habe es durch ArraySetAsSeries behoben.

Taumelnd .....

 
Alvin1976:

Nun, in MQL4 müssen Sie auch nicht zu viel verlangen. Es geht nicht um die Menge, es geht um die Reihenfolge.

Wo ist die Logik? Jeder hat sich daran gewöhnt, dass das Nullelement des Arrays der aktuelle Takt ist. Warum sollten Sie etwas ändern ????.

P.S. Ich habe es durch ArraySetAsSeries behoben.

Tanzen mit Tamburin.....

Es ist nicht das Tamburin, es sind die Neuerungen, an die Sie sich gewöhnen müssen. Und diese Innovationen werden die Aufgabe in einigen Fällen erleichtern. Fragen Sie nicht nach Beispielen, ich werde nicht darauf eingehen.
Grund der Beschwerde: