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
Oben Code des Indikators Spread_of_symbols ... Ich beschloss, es neu zu schreiben, damit es schneller funktioniert.... und der Code erschien, siehe unten ... Daten werden nicht kopiert ... wenn Sie Daten von 1 bis 0 in den Code kopieren, zeichnet der Indikator sehr schnell, aber ein Out-of-Range-Fehler auftritt ... was ist falsch in den Code siehe unten ...?
DH 0 Trades 19:31:10 '***': storniere Order #3694237 buy stop 0.36 AUDJPY.m bei 95.679
FI 0 Trades 19:31:10 '***': storniere Order #3694239 Kauflimit 0.36 AUDJPY.m bei 93.876
FP 0 Trades 19:31:10 '***': cancel order #3694236 buy stop 1.10 AUDJPY.m at 95.679 done
QE 0 Trades 19:31:11 '***': storniere Auftrag #3694238 Kauflimit 1.10 AUDJPY.m bei 93.876 erledigt
CG 0 Trades 19:31:11 '***': storniere Auftrag #3694237 buy stop 0.36 AUDJPY.m bei 95.679 erledigt
OL 0 Trades 19:31:11 '***': storniere Auftrag #3694239 Kauflimit 0.36 AUDJPY.m bei 93.876 erledigt
Vier ausstehende Aufträge wurden dem Protokoll zufolge offenbar schnell gelöscht. Aber onTradeTransaction, die Antworten kamen in etwa 15 Sekunden, Ticks wurden in diesem Zeitraum kommen.
***
JG 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Delete tp _ OnTrade PENDING id=85 m=3 b/s=SELL Err=Bid completed
***
RL 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Delete sl _ OnTrade PENDING id=86 m=3 b/s=SELL Err=Bid completed
***
HK 0 prp5 (EURUSD.m,M1) 19:31:26 TS=6 Delete tp _ OnTrade PENDING id=87 m=3 b/s=SELL Err=Order executed
Allerdings gibt es auch hier etwas Merkwürdiges
ES 0 prp5 (EURUSD.m,M1) 19:31:29 TS=6 case 8(real) m=3 b/s=SELL Err=Order placed ==>After OrderSendAsync, 3 sec scheint zu lang zu sein.
P.S. Sieht aus, als gäbe es Verzögerungen bei der Ausführung von Expert, obwohl ich mich frage, wie lange Pakete für OnTradeTransaction in der Warteschlange bleiben können.
Aus der Referenz:
MQL5 Referenz / Standardbibliothek / Klassen zur Erstellung von Panels und Dialogen / CWnd / StateFlagsSet
Welche Eigenschaften?
StateFlagsSet nicht Eigenschaften, sondern Zustand. Eine Gruppenmethode zur Änderung des Zustands. Die oben genannten Methoden zur Änderung einzelner Statuskennzeichen.
Separat zu verwenden.
Wenn man sich die "Datenzugangsorganisation" ansieht, sich das Beispielskript ansieht, das die Daten aufpumpt, und alles verstanden hat, ergeben sich folgende Fragen:
1. Warum kann ich diesen Code nicht in den Indikator in der Funktion OnInit schreiben, so dass der Indikator beim Start seine eigene Historie herunterlädt und die Zeitreihe vorbereitet? Kann ich einen solchen Scheck in meinem Expert Advisor ausstellen?
2. Wie oft muss ich diese Prüfung durchführen? 1 für Expert Advisors und 2 für Indikatoren? Wenn ich die Historie und die Zeitreihen nur einmal zum Kopieren vorbereite, werden dann in Zukunft keine Fehler beim Kopieren auftreten? Oder muss ich jedes Mal oder von Zeit zu Zeit überprüfen, ob der Verlauf und die Zeitreihen bereit sind?
3) Ist diese Prüfung nur für Indikatoren und Expert Advisors erforderlich, die mehrere Zeitrahmen und Symbole verwenden, oder ist sie für alle wünschenswert?
Bitte beachten Sie, dass der Indikator nicht warten oder in einer Schleife laufen darf, da er sonst die Berechnung nachfolgender Indikatoren unterbricht.
Swap-Prozesse sind asynchron und der Indikator darf nicht auf Daten warten. So können Sie im inite abfragen, auf keinen Fall warten oder verlangsamen und erst im oncalculate die Verfügbarkeit und Anzahl prüfen.
Bitte beachten Sie, dass der Indikator nicht warten oder in einer Schleife laufen darf, da er sonst die Berechnung nachfolgender Indikatoren unterbricht.
1 Wo kann ich die Daten dann auslagern? Wenn ich einen Indikator mit einem Korb von Währungspaaren und vielen Symbolen erstellen möchte, muss ich für jedes von ihnen die Daten überprüfen und austauschen... sollte ich ein Skript aus dem Indikator heraus ausführen? Warum sollte ein Indikator die Berechnungen der nachfolgenden Indikatoren zunichte machen? In den nächsten Indikatoren reicht es aus, die Berechnung des vorherigen Indikators durch BarsCalculated(indicator1_Handle) zu überprüfen, zu berechnen und die Daten herunterzuladen, oder liege ich da falsch?
2 Eine andere Frage, einer anderen Art - wenn ich Indikator-Handle in der Funktion deklariere, beginnt es zu zählen? Oder beginnt die Zählung, bevor ich einen Befehl zum Kopieren gebe?