Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 204
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Der MA kreuzt sich zwischen den Balken - ein deutliches Beispiel gefangen
Der MA auf den Balken links und rechts der Kreuzung unterscheidet sich vom Preis am Kreuzungspunkt. Ich verstehe, dass der Fragesteller den Wert am exakten Kreuzungspunkt und nicht den Wert auf einem der angrenzenden Balken haben möchte. Dieser exakte Wert kann durch lineare Interpolation ermittelt werden, da die MA zwischen den Balken als gerade Liniensegmente konstruiert ist. Oder nehmen Sie die Koordinaten der einzelnen MA auf benachbarten Balken. Konstruieren Sie analytisch 2 Geraden und berechnen Sie deren Schnittpunkt. Die Berechnung ist möglich, wenn man 2 ähnliche Dreiecke betrachtet. Es stellt sich die Gegenfrage: Warum brauchen wir sie? Stehen die Kosten im Verhältnis zum Wert des Ergebnisses? Schließlich verschieben sich die Schnittpunkte, wenn die MA-Parameter nur minimal verändert werden. Höchstwahrscheinlich wird es von der Leitung des Kursprojekts verlangt
Ich kann den Fehler in meinen Berechnungen nicht finden.
Ich muss den Höchst- und Tiefstwert des Vortages finden, aber aus irgendeinem Grund war der Tiefstwert am Vortag
Besser ist es, stattdessen CopyHigh und CopyLow mit der Periode PERIOD_D1 und dem entsprechenden Balken oder Zeitpunkt zu verwenden.
Jeder Balken eines beliebigen Zeitrahmens enthält verallgemeinerte Informationen über das entsprechende Intervall der Balken der niedrigeren Zeitrahmen: Maximum, Minimum, Eröffnungs- und Schlusszeit sowie das Volumen, das der Summe der Volumen der niedrigeren Balken entspricht. Genauer gesagt, sind diese Informationen in den entsprechenden Arrays enthalten
Ich würde das tun, aber ich kann die Daten möglicherweise nicht mit einem weiteren Algorithmus berechnen, da ich möglicherweise nach anderen Werten von gestern suchen muss und es mühsam wäre, die Funktionen erneut zu schreiben.
Wenn Sie mir sagen könnten, wo der Fehler in meinem Code liegt, verstehe ich ihn nicht. Wenn ich versuche, die Anzahl der Balken anzuzeigen, passen alle zusammen, aber wenn ich versuche, das Maximum oder Minimum zu erhalten, zeigt es nicht an, was es sollte.
Ich würde das tun, aber ich kann die Daten möglicherweise nicht berechnen, weil ich nach anderen Werten von gestern suchen muss und es mühsam sein kann, die Funktionen neu zu schreiben.
Wenn Sie mir sagen könnten, wo der Fehler in meinem Code liegt, verstehe ich ihn nicht. Wenn ich die Anzahl der Balken auf dem Bildschirm anzeige, konvergiert alles, aber wenn ich versuche, das Maximum oder Minimum zu erhalten, zeigt es nicht an, was es sollte.
Du hast so viel Durcheinander angerichtet, dass ich nicht einmal mehr einen Sinn darin erkennen kann. Ein Berg von Umwandlungen vom einen zum anderen...
Und das alles, um das Maximum und Minimum des Tages zu finden?
Was funktioniert bei Ihnen also nicht?
Möchten Sie die Höchstwerte des Tages herausfinden? Ich bitte Sie:
Möchten Sie den Höchstwert von gestern herausfinden? Einfach:
Sie möchten den Tiefststand von vorgestern wissen? Kein Problem:
Nun, man könnte es sich einfach machen und reine Vierfachfunktionen verwenden:
Aber ich würde nicht raten - mit neuen Sprachkonstrukten, bereiten Sie sich und Ihren Code zu, dass eines Tages vervierfachen wird nicht unterstützt werden, und Selbstdisziplin und all das ;)
Sie haben ein solches Durcheinander angerichtet, dass es schwer ist, es wieder zu sortieren. Ein Berg von Umwandlungen von einer Sache in eine andere...
Alles, um die Höhen und Tiefen des Tages zu finden?
Was funktioniert bei Ihnen also nicht?
Möchten Sie die Höchstwerte des Tages herausfinden? Ich bitte Sie:
Möchten Sie den Höchstwert von gestern herausfinden? Einfach:
Sie möchten den Tiefststand von vorgestern wissen? Kein Problem:
Nun, man könnte es sich einfach machen und reine Vierfachfunktionen verwenden:
Aber ich würde nicht raten - mit neuen Sprachkonstrukten, bereiten Sie sich und Ihre Codes, dass eines Tages vervierfachen wird nicht unterstützt werden, und Selbstdisziplin und all das ;)
Ich habe selbst einen Fehler gefunden ( vor lauter Unachtsamkeit habe ich die Parameter iHighest, iLowest falsch gelesen ).
Also nicht geeignet, da andere Berechnungen von gestern benötigt werden
Ich habe den Fehler selbst gefunden (vor lauter Unaufmerksamkeit habe ich die Parameter iHighest und iLowest falsch gelesen).
Dies ist nicht geeignet, da andere Berechnungen von gestern erforderlich sind.
if(Rot ) OrderSend( ... Kaufen ...) ; if( Blau ) OrderSend( ... Verkaufen ...) ;
Nur das Gegenteil, oben verkaufen, unten kaufen...
Die Funktion OnInit (die alte Funktion, die nach init fragt) wird beim Start des Indikators ausgeführt (beim Wechsel des Zeitrahmens, beim Neukompilieren, ...). Allen verwendeten Variablen muss ein Wert zugewiesen werden. Die Zeile SetIndexDrawBegin(0,i-1) ist in der Funktion OnInit vorhanden; der Variablen i muss ein Wert zugewiesen werden oder es muss eine Konstante verwendet werden
if(Rot) OrderSend( ... Kaufen ...) ; if( Blau ) OrderSend( ... Verkaufen ...) ;
Nur das Gegenteil, oben verkaufen, unten kaufen...
Die Funktion OnInit (die alte Funktion, die nach init fragt) wird beim Start des Indikators ausgeführt (beim Wechsel des Zeitrahmens, beim Neukompilieren, ...). Allen verwendeten Variablen muss ein Wert zugewiesen werden. In der Funktion OnInit gibt es die Zeile SetIndexDrawBegin(0,i-1); der Variablen i muss ein Wert zugewiesen werden oder eine Konstante verwendet werden
Um ehrlich zu sein, verstehe ich nichts, ich bin neu in der Mql4 Programmierung, wenn Sie nichts dagegen haben, mir mit dem Code zu helfen.
Der Code hilft in der Regel bei der Freiberuflichkeit.
Hier - entweder der Algorithmus oder um Ihre Fehler zu korrigieren. Aber nicht, um sie noch einmal für Sie umzuschreiben.