Fehler, Irrtümer, Fragen - Seite 2411
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
Bitte führen Sie diesen Code aus:Multicurrency iMA Trend 2.
Geben Sie in den Einstellungen ( Parameter Symbole) "EURUSD,GBPUSD" an.
Zu meiner Konfiguration
alle SLs zu ihren Symbolpreisen geschlossen. Das heißt, es liegt kein Preisüberschneidungsfehler vor.
Bitte führen Sie diesen Code aus:Multicurrency iMA Trend 2.
Geben Sie in den Einstellungen ( Parameter Symbole) "EURUSD,GBPUSD" an.
Zu meiner Konfiguration
alle SLs zu ihren Symbolpreisen geschlossen. Das heißt, es liegt kein Preisüberschneidungsfehler vor.
Vielen Dank, der Fehler wurde lokalisiert. Beitrag unten.
Es gibt zwei Fehler.
№1. Ihr Fehler. Irgendwo im Code. Sie setzen SL für EURUSD-Positionen anhand des GBPUSD-Kurses. Das Terminal sollte nichts dagegen haben.
№2. Fehler im Terminal. Wenn dieser SL zum dann nicht existierenden Preis im EURUSD-Flow ausgelöst wird, wird der GBPUSD-Preis verwendet.
https://www.mql5.com/ru/docs/constants/structures/mqltraderequest
Offenbar hat beim Senden einer Änderungsanfrage das Positionsfeld Vorrang vor dem Symbol.Anfrageposition drucken
Ja, Sie hatten Recht, mein Fehler ist logisch:
in der Struktur:
MqlTradeRequest m_request;
m_request.position = #3
m_request.symbol = GBPUSD
m_request.sl = 1.60704
aktuelle Positionsnummer für GBPUSD #4
Wenn OrderSend ausgeführt wird, setzt der Prüfer einen Stopp für das Symbol, das der Position 3 entspricht, d. h. eurusd.
Tester-Fehler:
- prüft nicht, ob m_request.position und m_request.symbol übereinstimmen;
- setzt einen Stop bei 1,60704 für die Kaufposition, das Symbol eurusd, das einen aktuellen Kurs von 1,30935 hat;
- setzt beim nächsten Tick einen Stopp bei 1,60704, obwohl der tatsächliche Kurs bei 1,30935 liegt.
Ich danke Ihnen allen. Ich hoffe, dass die Entwickler der Plattform diesen Beitrag sehen werden.
Ja, Sie hatten Recht, mein Fehler ist logisch:
In der Struktur:
MqlTradeRequest m_request;
m_request.position = #3
m_request.symbol = GBPUSD
m_request.sl = 1.60704
aktuelle Positionsnummer für GBPUSD #4
Wenn OrderSend ausgeführt wird, setzt der Prüfer einen Stopp für das Symbol, das der Position 3 entspricht, d. h. eurusd.
Tester-Fehler:
- prüft nicht, ob m_request.position und m_request.symbol übereinstimmen;
- setzt einen Stop bei 1,60704 für die Kaufposition, das Symbol eurusd, das einen aktuellen Kurs von 1,30935 hat;
- setzt beim nächsten Tick einen Stopp bei 1,60704, obwohl der tatsächliche Preis bei 1,30935 liegt.
Ich danke Ihnen allen. Ich hoffe, dass die Entwickler der Plattform den Beitrag sehen werden.
Die Ausführung eines Stopps für eine Kaufposition bei 1,60704 zum aktuellen Kurs von 1,30935 ist kein Fehler. Aber das Setzen eines Kaufstopps auf das Niveau von 1,60704 beim aktuellen Kurs von 1,30935 ist ein Fehler.
Bau 2007
Funktion:
soll das finanzielle Ergebnis der Transaktion in die Gewinnvariable ausgeben, aber es stellt sich immer als 0,0 heraus, und der Wert in der Losvariable ist immer korrekt.
Liegt ein Fehler vor? - Oder mache ich etwas falsch?
Bau 2007
Funktion:
soll das finanzielle Ergebnis der Transaktion in die Gewinnvariable ausgeben, aber es stellt sich immer als 0,0 heraus, und der Wert in der Losvariable ist immer korrekt.
Liegt ein Fehler vor? - Oder mache ich etwas falsch?
DEAL_ENTRY_OUT oder INOUT sollte geprüft werden. Die _IN-Geschäfte haben einen Gewinn von 0
DEAL_ENTRY_OUT oder INOUT sollten beobachtet werden. Die _IN-Geschäfte haben einen Gewinn von 0
Nun, der erste vom Ende der Liste ist besetzt, er sollte OUT sein
Nun, es ist das erste vom Ende der Liste, es sollte OUT sein
Wenn Sie TimeCurrent() im endDate übergeben, ersetzen Sie es durch TimeCurrent()+60 oder etwas Ähnliches. Das sollte helfen.
Wenn Sie TimeCurrent() in endDate übergeben, ersetzen Sie es durch TimeCurrent()+60 oder etwas Ähnliches. Das sollte helfen.
Nein, es ist immer noch 0,0.
Nein, es ist immer noch 0,0.
Dann debuggen Sie es. Drucken Sie Transaktionsscheine aus und sehen Sie im Prüfgerät, was dort tatsächlich ausgewählt ist. Fügen Sie einen Filter nach Handelsart hinzu.