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
Sie können entweder die Klasse CNewbar verwenden, oder im Forum nach NewBar suchen
Sie haben einen iTime-Anruf in Ihrer Klasse. Mir wurde geraten, es zu vergessen). Außerdem, wo ist die Garantie, dass es nicht die gleiche Arbeit wie CopyRates macht? Du rufst sie bei jeder Zecke an. Wie auch immer, ich rufe CopyRates bei jedem Tick auf und das Problem ist gelöst.
Ja, bei jedem Ticken überprüfen wir die Uhrzeit:
Kurz und bündig:
ich schreibe nur auf den Knien - um die Idee zu zeigen, nicht die Genauigkeit des Schreibens
Ich melde mich bei jeder Zecke. Ups.
Sie können entweder die Klasse CNewbar verwenden, oder im Forum nach NewBar suchen
ZS: ganzer Artikel!https://www.mql5.com/ru/articles/159
OK, das Übliche...hoppla, 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 Problemen müssen Sie normalerweise eine Auswahl von OHLC-Werten aus verschiedenen Balken erhalten (Indikatoren werden nicht berücksichtigt)
Ok, sei nicht krank!
Ach, kommen Sie. Dicke Menschen sind meist warm. Deshalb können Sie diese Vergleiche auch nutzen. Wen kümmert es, ob Sie OHLC brauchen... Igor hat gesagt, du sollst Fraktale benutzen, also benutze sie...
Sie haben einen iTime-Anruf in Ihrer Klasse. Mir wurde geraten, es zu vergessen). Außerdem, wo ist die Garantie, dass es nicht die gleiche Arbeit wie CopyRates macht? Du rufst sie bei jeder Zecke an. Kurz gesagt, ich werde CopyRates bei jedem Tick aufrufen und das Problem ist gelöst.
Dies ist länger als der einmalige Aufruf von CopyTime() oder iTime() pro Tick.
CopyRates() wird nur aufgerufen, wenn Sie alle Werte des Balkens auf einmal benötigen - im Moment der Definition eines neuen Balkens.
Es macht keinen Sinn, einen neuen Takt zu berechnen, wenn die Berechnung selbst CopyRates oder sein Gegenstück beinhaltet. Die gleichen Kosten werden anfallen.
Ich melde mich bei jeder Zecke. Spas.
Antwort: Sie liegen falsch.
Dies ist länger als der einmalige Aufruf von CopyTime() oder iTime() pro Tick.
Rufen Sie CopyRates() nur dann auf, wenn Sie alle Balkenwerte auf einmal benötigen - zum Zeitpunkt der Definition eines neuen Balkens.
Gut. Die Einstellung, iXXX-Funktionen zu vergessen, muss also vergessen werden).
Gut. Wir müssen also die iXXX-Funktionen vergessen)).
Ja, natürlich. Nicht alles, was sie sagen, ist nützlich. Und ich kann so einen Blödsinn sagen :)))
Aber hier - aus Geschwindigkeitsgründen: CopyRates() ist nützlich, wenn Sie mehrere Werte eines Balkens gleichzeitig abrufen müssen (Ihr Fall). Es ist langsamer als CopyTime() oder iTime(), aber wenn Sie CopyOpen(), CopyHigh(), CopyLow() und CopyClose() + (CopyTime(), falls erforderlich) aufrufen, dann ist es langsamer als der einzelneAufruf CopyRates(), der alle erforderlichen Werte auf einmal zurückgibt.
Fazit: Bei jedem Tick arbeiten wir mit CopyTime() oder iTime(), um einen neuen Balken zu bestimmen, und im Moment des Erscheinens eines neuen Balkens rufen wir CopyRates() einmal auf.
Und Sie sollten keine religiösen Aussagen berücksichtigen, die durch nichts als den Glauben bestätigt werden. Sie können selbst prüfen, was wäre schneller für Ihren Fall der Definition einer neuen Bar - CopyTime() oder iTime() - vor kurzem in MQL5 Funktion implementiert, die das Schreiben von Cross-Plattform-Code erleichtert (es ist eine Lüge - da MQL4 enthält auch CopyXXX Funktionen, aber die Portierung von MQL4 Code in MQL5 ist einfacher - Sie brauchen nicht zu wiederholen iXXX Funktionen)
Woher wüssten Sie sonst, dass sich die Öffnungszeit des aktuellen Taktes geändert hat?
Sie haben einen iTime-Anruf in Ihrer Klasse. Mir wurde geraten, es zu vergessen). Außerdem, wo ist die Garantie, dass es nicht seinerseits die gleiche Aufgabe wie CopyRates erfüllt? Du rufst sie bei jeder Zecke an. Kurz gesagt, ich werde CopyRates bei jedem Tick aufrufen und das Problem ist gelöst.
Schreibst du immer nur und versuchst nicht zu lesen? Ich habe dir einen Link zu einem ganzen Artikel über die neue Bar gegeben! Artikel werden geprüft - geprüft von Leuten mit einer anderen Kompetenz als denen, die ständig im Forum schreiben ;)
ZS: Wenn Sie aufhören zu schreiben und anfangen zu lesen, wie der Artikel auf meinem Link, können Sie einen anderen Weg finden (SERIES_LASTBAR_DATE ), um die iXXX() nicht zu verwenden - ich habe Ihnen gesagt, sie nicht zu verwenden ))) - Wer würde Bugs und Fehler melden, die Entwickler schlampig veröffentlicht )))))
Schreibst du immer nur und versuchst nicht zu lesen? Ich habe dir einen Link zu einem ganzen Artikel über die neue Bar gegeben! Die Artikel werden geprüft - und zwar von Leuten mit einer anderen Kompetenz als denen, die ständig im Forum schreiben ;)
ZS: Wenn Sie aufhören zu schreiben und anfangen zu lesen, wie der Artikel auf meinem Link, können Sie einen anderen Weg finden ( SERIES_LASTBAR_DATE ), um die iXXX() nicht zu verwenden - ich habe Ihnen gesagt, sie nicht zu verwenden ))) - wer würde die Bugs und Fehler, die die Entwickler veröffentlicht schlampig ))))) sagen.
Es gab einige Probleme mit SERIES_LASTBAR_DATE. Das wurde hier vor langer Zeit schon einmal diskutiert. Vielleicht wurde sie repariert.