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

 
Ist es möglich, mehrere Watchlisten (Marktübersichten) in Metatrader zu führen? Zum Beispiel eine für Indizes, eine andere für Aktien
 
Vladimir Makhnin #:
Ist es möglich, mehrere Watchlisten (Marktübersichten) in Metatrader zu führen? Zum Beispiel: Indizes in einem, Aktien in einem anderen

Machen Sie Ihr eigenes. MQL5 macht dies einfach.

 
Mihail Matkovskij #:

Es geht um die Formel, mit der der Winkel berechnet wird. Aus dem Code geht hervor, dass nur eine Koordinate zur Berechnung verwendet wird und ein Koeffizient, dessen Zweck unklar ist. Was ist das? Bitte erläutern Sie, welche Daten Sie zur Berechnung des Winkels verwenden.

Soweit ich sehen kann

double d

es ist ein Vektor. Dennoch ist es nur eine Koordinate. Aber um einen Winkel zu berechnen, braucht man zwei Koordinaten oder einen Vektor, der aus zwei Koordinaten besteht.

 

sowohl auf der... meine Antwort wurde gelöscht

 
Maxim Kuznetsov #:

sowohl auf der... meine Antwort wurde gelöscht.

Etwas ist verwirrend - Ihr Beitrag aus diesem Thread ist nicht unter den gelöschten Beiträgen.

 
Vladimir Karputov #:

Etwas ist verwirrend - Ihr Beitrag aus diesem Thread ist nicht unter den gelöschten Beiträgen.

Ich habe auch geschaut. Ich habe es nicht gefunden.

 

OK, ich werde das duplizieren... als Antwort aufhttps://www.mql5.com/ru/forum/160683/page1884#comment_27290699

CalcAngleTrend hat damit nichts zu tun. Irgendwo anders ist der coefAngle falsch gezählt oder es gibt weitere krumme Berechnungen

ps/ und vielleicht wird der Begriff "Neigung" allgemein falsch interpretiert. Sie kann nicht in Grad oder Bogenmaß ausgedrückt werden (ohne eine Raumkrümmung), und die Funktion atan liefert einen physikalisch falschen Wert.

 
Mihail Matkovskij #:

Es geht um die Formel, mit der der Winkel berechnet wird. Aus dem Code geht hervor, dass nur eine Koordinate zur Berechnung verwendet wird und ein Koeffizient, dessen Zweck unklar ist. Was ist das? Bitte erläutern Sie, welche Daten Sie zur Berechnung des Winkels verwenden.

Das stimmt, es ist ein Vektor
und ein Wert wird verwendet, weil delta change geteilt durch 1 (Eins) delta ist.
die Variable coefAngle ist eine int-Konstante gleich 2.
Ich habe überprüft, dass alle Daten, die in die Funktion eingegeben werden, genau gleich sind.
 
Maxim Kuznetsov #:

OK, ich werde das duplizieren... als Antwort aufhttps://www.mql5.com/ru/forum/160683/page1884#comment_27290699

CalcAngleTrend hat damit nichts zu tun. Irgendwo anders ist der coefAngle falsch gezählt oder es gibt weitere krumme Berechnungen

ps/ und vielleicht wird der Begriff "Neigung" allgemein falsch interpretiert. Sie wird nicht in Grad oder Bogenmaß ausgedrückt (ohne Raumkrümmung), und die Funktion atan liefert einen physikalisch falschen Wert.

der Koeffizient ist eine Konstante, er ändert sich nicht
es gibt keine Berechnungen außer für diese Funktion, die Funktion erhält den Deltawert durch Mittelwertbildung der Vektorwerte über mehrere Punkte, grob gesagt Reduzierung auf ein Segment von 2x Punkten, mit einer Periode von 1 Einheit

Es ist klar, dass dies keine vollständige Realisierung von Vektoren ist, es ist mehr für "mehr oder weniger" adäquates Ausdrucksergebnis.
technisch kann man mit einer einfachen Anwendung eines Multiplikationskoeffizienten tun und das ist es...

Wie auch immer, ich sehe keinen Grund, warum diese Funktion überhaupt funktionieren sollte(

Die einzige Möglichkeit ist, dass etwas mit der Typumwandlung im Ausdruck selbst während der Berechnung nicht stimmt,

 
Владимир Казаков einen Expert Advisor zu schreiben, und wenn ich ihn teste, passiert etwas Seltsames...

Ich habe eine Funktion

Was ist die Situation, ich führe eine Instanz des EA auf einem Chart aus und führe die zweite im Debug-Modus auf dem gleichen Chart mit MT4
aus. Die Eingabedaten für die Funktion sind die gleichen, aber die Ausgabedaten sind unterschiedlich!!!? Ich verstehe einfach etwas nicht, wie es scheint...(

beraten, wie man nach Informationen sucht!!!

PS: errechnete die Differenz von genau 2,5 mal die Leistung

Zerlegen Sie die Ausdrücke in Aktionen... ...und, oh mein Gott, die Ergebnisse sind alle gleich!?

double CalcAngleTrend(double d)
 {
Print("d: ", d, " coefAngle: ", (double) coefAngle);
  double
    a = (double) (d*pow(10,_Digits-2));
Print("(d*pow(10,_Digits-2)): ", a);
    double rad = (double) (180/M_PI);
Print("rad: ", rad);
    a = (double) (atan(a));
Print("(atan(a)): ", a);
    a = (double) (a*rad*(double) coefAngle);
Print("(a*rad*(double) coefAngle): ", a);
  return(NormalizeDouble(a, ANGLE_DIGITS));
 }

Also alles das gleiche mit der Reduzierung der Arten ist nicht etwas, das funktioniert, wie ich möchte

von Experten und Versteher kann jemand erklären, was das Problem war?!
nicht den Fehler zu wiederholen)))

PS: Hier ist der gleiche Ausdruck in diesem Format funktioniert auf die gleiche Weise

  double a = (double) ((d*pow(10,_Digits-2))*(180/M_PI)*(double) coefAngle);

Die Ausschlussmethode war ein narrensicheres Doppel für die int.

Ich hoffe, ich habe es richtig verstanden.