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
In diesem Fall, eindeutig CopyRates aus dem ersten Takt 10s. Und zwar nicht bei jedem Tick, sondern nur beim Erscheinen eines neuen Balkens.
Wie erkenne ich, ob ein neuer Balken ohne CopyRates erschienen ist? Ich meine, Sie müssen zuerst das neue Bar-Event sehen. Ist das ohne CopyRates möglich? Ich bin ein wenig verwirrt).
Das ist es, was es bedeutet, ich habe mich nie mit diesem Thema auf MT5 beschäftigt. Bitte verstehen Sie das)).
Oh, Vladimir. Ich bin zwar damit herausgeplatzt, aber leider habe ich keine Reservierung gemacht. Wenn wir z.B. nur den Eröffnungskurs oder die Uhrzeit benötigen, brauchen wir CopyRates() nicht zu verwenden, in diesem Fall reicht CopyOpen oder iOpen völlig aus... bzw. CopyTime oder iTime. Sie wird nach Ihren religiösen Vorlieben ausgewählt.
Und ich füge meinen Vorbehalt hinzu: Was die Kosten für die Leistung angeht, gibt es keinen nennenswerten Unterschied. Daher bleiben nur religiöse Vorurteile übrig.Die fxsaber war die Überprüfung CopyRates() Kosten - es ist teurer als immer die erforderliche Eigenschaft separat. Sie gilt nicht für den Fall, dass wir alle Preise auf einmal erhalten müssen.
Und woher weiß ich, dass ein neuer Balken ohne CopyRates erschienen ist? Ich meine, du musst zuerst das neue Bar-Event sehen. Ist es möglich, dies ohne CopyRates zu tun? Ich bin ein wenig verwirrt).
Beobachten Sie das Erscheinen eines neuen Balkens, ohne auf irgendetwas zu achten, und rufen Sie CopyRates
Es gibt viele verschiedene Funktionen und Möglichkeiten, eine neue Leiste auf der Website zu erkennen.
Wie erkenne ich, ob ein neuer Balken ohne CopyRates erschienen ist? Ich meine, Sie müssen zuerst das neue Bar-Event sehen. Ist das ohne CopyRates möglich? Ich bin ein wenig verwirrt).
Das ist es, was es bedeutet, nie mit diesem Thema auf MT5 behandelt. Bitte verstehen Sie das.))
Am einfachsten ist es, die Eröffnungszeit des aktuellen Balkens zu vergleichen. Wenn sie nicht mit der zuvor gespeicherten Zeit übereinstimmt, legen Sie einen neuen Balken an, tun Sie, was auf dem neuen Balken zu tun ist, und merken Sie sich diese Zeit für die nächste Prüfung.
Ohne auf etwas zu achten, verfolgen wir das Erscheinen eines neuen Balkens und rufen CopyRates
Es gibt viele verschiedene Funktionen und Möglichkeiten, eine neue Leiste auf der Website zu definieren.
fxsaber hat eine CopyRates()-Kostenprüfung durchgeführt - es ist teurer, als die erforderliche Eigenschaft separat zu erhalten. Dies gilt nicht für den Fall, dass Sie alle Preise auf einmal erhalten müssen.
Am einfachsten ist es, die Eröffnungszeit des aktuellen Balkens zu vergleichen. Wenn sie nicht mit der zuvor gespeicherten Zeit übereinstimmt, legen Sie einen neuen Balken an, tun Sie, was auf dem neuen Balken zu tun ist, und merken Sie sich diese Zeit für die nächste Prüfung.
Sie rufen also die CopyRates bei jedem Tick auf? Wie würden Sie sonst wissen, dass sich die Öffnungszeit der aktuellen Bar geändert hat?
Sie können entweder die Klasse CNewbar verwenden, oder im Forum nach NewBar suchen
SZZ: ganzer Artikel!https://www.mql5.com/ru/articles/159
Igor, du musst in die erste Klasse gehen. Dort werden die Buchstaben gelehrt, und nachdem Sie sie gelernt haben, werden Sie den Unterschied zwischen CopyRates und CopyBuffer verstehen.
Hier ist ein besserer Vorschlag, um dieses Problem OHNE CopyRates zu lösen
OK, das Übliche...hoppla, hoppla...und keine einzige Codezeile ))))
Ich habe mein Beispiel angeführt, um zu zeigen, dass es nicht immer bequem (und selten notwendig) ist, ein Array von aufeinanderfolgenden OHLC-Werten zu erhalten. Bei praktischen Aufgaben müssen wir normalerweise eine Auswahl von OHLC-Werten von verschiedenen Balken erhalten (Indikatoren sind nicht enthalten)
Alles klar, mach's gut!
Also bei jedem Tick CopyRates aufrufen? Woher wissen wir sonst, dass sich die Öffnungszeit des aktuellen Taktes geändert hat?
Ja, bei jedem Ticken überprüfen wir die Uhrzeit:
Kurz gesagt, es ist so:
Ich habe es einfach auf meine Hand geschrieben - um die Idee zu zeigen, nicht die Genauigkeit des Schreibens
Wir sollten also bei jedem Tick CopyRates aufrufen? Wie kann man sonst wissen, dass sich die Öffnungszeit des aktuellen Taktes geändert hat?
if(prevTime!=iTime(...))
{
// Aktuelle Öffnungszeit des Balkens geändert
}
prevTime=iTime(...);