Was die Funktionen Lowest und Highest zurückgeben - Seite 6

 
Ich habe auch gedacht, dass es in dieser Situation offenbar nicht darum geht, aufzupumpen, sondern darum, dass die neue Bar aufgebaut wird, ohne darauf zu warten, dass die Geschichte aufgepumpt wird. Und das ist auch irgendwie richtig so. Aber stellen Sie sich andererseits einen Expert Advisor für den Handel vor. Es kommt zu einem Verbindungsabbruch und anschließend wird die Verbindung wiederhergestellt. Der Experte kann eine Position auf der Grundlage der falschen Indikatorwerte eröffnen, bis die Historie vollständig ausgetauscht ist. Die Frage geht also über den Rahmen dieses Themas hinaus und betrifft die Sicherheit des Autotradings im Allgemeinen. Das Problem ist natürlich nicht einfach. Vielleicht wäre die Lösung eine vordefinierte Variable "Länge des letzten kontinuierlichen Zeitraums der Geschichte"? Die Indikatoren (Experten) könnten sie lesen und die Situation irgendwie handhaben.
 
Hier kann die Speicherung des Balkenwerts (nicht nur Time[0]) helfen. Das heißt:

start() {..... if (PrevBars!=Bars-1) { init(); PrevBars=Bars-1; }
 
Diejenigen, die ernsthaft mit EAs handeln, sind sich dieses Problems wahrscheinlich bewusst. Und eine Art von Behandlung für diese Situation ist in der EA enthalten.
 
Die Speicherung von Balkenwerten (nicht nur Time[0]) kann in diesem Fall helfen .....

Hier ist ein Ausschnitt aus dieser Protokolldatei, aus dem hervorgeht, dass sich die Balken um 1 erhöhen, wenn ein neuer Balken beginnt, und nicht um die Anzahl der zu aktualisierenden Balken. Es hilft also nicht
2006.10.31 23:58:25 CZZ2 EURUSD,M1: shift=0, Bars=38230, Time[shift]=2006.10.31 22:51, High[shift]=1.2763, Low[shift]=1.2763 2006.10.31 23:58:25 CZZ2 EURUSD,M1: shift=1, Bars=38230, Time[shift]=2006.10.31 22:45, High[shift]=1.2762, Low[shift]=1.2762 2006.10.31 23:58:23 CZZ2 EURUSD,M1: shift=0, Bars=38229, Time[shift]=2006.10.31 22:45, High[shift]=1.2762, Low[shift]=1.2762



Diejenigen, die ernsthaft mit EAs handeln, sind sich dieses Problems wahrscheinlich bewusst. Und eine Art von Behandlung für diese Situation ist in der EA enthalten.

Nun, wir können versuchen, die Situation irgendwie in den Griff zu bekommen, aber es scheint, dass wir nicht ohne ein paar trickreiche Tricks auskommen. Insbesondere unter Berücksichtigung der starren Position von MQ auf Karten ohne Löcher.
Andererseits weiß das Terminal, ob es die Geschichte aufpumpen muss oder nicht. Wenn MQL Zugang zu diesem Wissen hätte, wäre das Problem viel einfacher zu lösen.


 
Dann vergleichen wir Time[0] und Time[1]. Ich selbst habe nur einmal mit einer solchen Situation zu kämpfen gehabt, daher kann ich Ihnen nicht von vornherein einen praktischen Leitfaden geben.
 
Dann vergleichen wir Time[0] und Time[1]. Ich selbst habe nur einmal mit einer solchen Situation zu kämpfen gehabt, daher kann ich Ihnen keinen praktischen Rat geben. <br / translate="no">.

Dies wird nichts bewirken, wenn Sie nicht zuerst den Code des Typs "Diagramm ohne Löcher" aktivieren, da das Vorhandensein von Löchern eine normale Situation in MT ist. Bei großen Zeiträumen werden jedoch fast alle Fehler erfasst.
 
In der Tat ist dies eine Art "Dämonisierung" :)
Der Code sollte mit einem Höchstmaß an Schutz geschrieben werden, da das Abpumpen von Daten nicht nur durch das Terminal, sondern auch durch den ISP, das Datenzentrum, den Makler, das Aufhängen des Computers usw. verursacht werden kann.
 
Übrigens, nur für den Fall. 28. Suche nach Preisextremen - http://www.alpari-idc.ru/ru/experts/articles/29.html
 
Ich fürchte, dass ein Code mit maximalem Schutz für den praktischen Einsatz ungeeignet ist :). Da der Handel im Allgemeinen riskant ist, hätten wir uns auf einen angemessenen Schutz beschränken können. Aber wir sprechen hier von einer recht häufig vorkommenden Situation. Übrigens war meine Schlussfolgerung über die bessere Sicherheit großer Zeiträume im vorherigen Beitrag falsch. Der vorhergehende Balken kann vor dem Austausch der Geschichte falsche Werte für Hoch, Tief und Сlose haben, während der aktuelle Balken falsche Werte für Hoch, Tief und Offen hat.
 
Ja, es stellt sich heraus, dass große Zeitrahmen noch gefährlicher sind als kleine, denn ich sehe keine einfache Möglichkeit, die Korrektheit der Daten für die letzten beiden Balken zu bestimmen. Sie können sich einen Indikator vorstellen, der an den Minuten hängt und die globale Variable GoodHistoryDepht füllt. Andere Indikatoren vergleichen diesen Wert mit ihrer erforderlichen Berechnungstiefe und treffen Entscheidungen. Aber wegen der Position des MQ auf den Löchern, wird ein Großteil der Zeit (und je länger der Zeitrahmen, desto größer, bis hin zur vollständigen Ablehnung der täglichen Bars) einfach ungeeignet für den Handel. Vor allem, wenn man bedenkt, dass Kommunikationsausfälle lieber in realen Konten leben.
Grund der Beschwerde: