Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1410
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
Leute, hallo an alle Profis und die, die es können!
Ich habe ein Problem mit dem Abrufen von Daten aus einem Indikator -- bitte helft mir, wer kann es tun....
Funktion Zielsetzung: Berechne den durchschnittlichen Abstand in Punkten zwischen den äußeren Linien des Indikators"Bollinger Bands", für den angegebenen Zeitraum.
Die Essenz des Problems: Ich kann die realen Werte des Preises auf den Linien des Indikators für den angegebenen Balken nicht erhalten, weil aus irgendeinem Grund derselbe Preiswert in verschiedene Puffer des Indikators geschrieben wird, der auch nicht den realen Werten einer der Linien auf diesem Balken entspricht. Und als Ergebnis wird ein unbekannter Preiswert in verschiedene Puffer (bei verschiedenen Anfragen) geschrieben, was die gesamte weitere Arbeit der Funktion zunichte macht.
Außerdem konnte ich mit genau der gleichen Methode wie in dieser Funktion Indikatoren von beliebigen anderen Indikatoren abrufen, aber hier funktioniert es nicht....
Es gibt eine Verwirrung bei der Verwendung der Standardbibliothek.
Wie bekomme ich ein Ticket, nachdem ich eine Bestellung mit der Standardbibliothek geöffnet habe?
Kann ich sicher sein, dass die Antwort des Servers bereits hier eingegangen ist? Das Terminal bleibt hängen, während es auf eine Antwort vom Server wartet? Das ist nicht klar.
In MQ4 war alles einfach:
Wie bekomme ich ein Ticket, nachdem ich eine Bestellung mit der Standardbibliothek geöffnet habe?
Kann ich sicher sein, dass die Antwort des Servers bereits hier eingegangen ist? Das Terminal bleibt hängen, während ich auf eine Antwort vom Server warte? Das verstehe ich nicht.
In MQ4 war alles einfach:
Es ist besser, die Ereignisbehandlung OnTradeTransaction() zu verwenden
Es ist besser, den OnTradeTransaction()-Ereignishandler zu verwenden
Dankeschön! Dann muss ich ein paar Funktionen überarbeiten.
Vielleicht haben Sie irgendwo eine Funktion zur Berechnung von Slippage auf mql5 gesehen?
Ich danke Ihnen! Dann muss ich ein paar Funktionen neu machen.
Haben Sie irgendwo eine Funktion zur Berechnung des Schlupfes bei mql5 gesehen?
Warum suchen Sie danach? In OnTradeTransaction fangen Sie das Ereignis der Auftragserteilung ab, lesen den Auftragspreis, fangen dann den Handel ab, lesen den Handelspreis und erhalten die Differenz dieser Preise.
Sie können auch eine Variable auf globaler Ebene erstellen, den Preis zum Zeitpunkt des Absendens der Order in diese Variable schreiben und in OnTradeTransaction den Preis des Geschäfts abrufen...
Alexey Viktorov #:
Sie können auch eine Variable auf globaler Ebene erstellen, den Preis in diese Variable schreiben, wenn der Auftrag gesendet wird, und den Preis der Transaktion in OnTradeTransaction.... abrufen.
Diese Option ist definitiv nicht möglich. Was brauche ich einen Preis ohne Ticket, wenn ich viele Aufträge sende, wie wird OnTradeTransaction damit umgehen?
Diese Option ist definitiv ausgeschlossen. Was koste ich ohne Ticket, wenn ich viele Aufträge sende, wie wird OnTradeTransaction damit umgehen?
Anhand der Positions-ID wird das ohne Probleme geklärt.
Sie erhalten einen Trade, erhalten die Positions-ID davon, ziehen Orders und Trades aus der Historie nach dieser ID und lesen die Order- und Trade-Preise IN.
Lesen Sie die Dokumentation. Sie können dort viele interessante Dinge finden.
Alexey Viktorov #:
Sie holen sich einen Trade, erhalten die Positions-ID, ziehen Aufträge und Trades mit dieser ID aus der Historie und lesen die Auftrags- und Trade-Preise IN.
Das ist klar! Aber die zweite Option mit dem gespeicherten Preis, während eine Order gesendet wird, auf globaler Ebene und dann in OnTradeTransaction den Preis der Transaktion abrufen...das ist mir nicht klar. Warum sollte man einen Preis speichern, der nicht (an den Auftrag) gebunden ist, während man den Auftrag sendet?
Kurz gesagt, ich werde es so machen - den Handel abrufen und dann alles andere aus ihm herausziehen.
Die Essenz des Problems: Ich kann die realen Werte des Preises auf den Linien des Indikators für den angegebenen Balken nicht erhalten, weil aus irgendeinem Grund derselbe Preiswert in verschiedene Puffer des Indikators geschrieben wird, was auch nicht den realen Werten einer der Linien auf diesem Balken entspricht. Und als Ergebnis wird ein unbekannter Preiswert in verschiedene Puffer (bei verschiedenen Anfragen) geschrieben, was die gesamte weitere Arbeit der Funktion zunichte macht.
Außerdem konnte ich mit genau der gleichen Methode wie in dieser Funktion Indikatoren von beliebigen anderen Indikatoren abrufen, aber hier funktioniert es nicht....
Bolinger ist SMA +- N*Standardabweichungen.
Es gibt eigene Indikatoren für Standardabweichung und SMA. Aber es ist alles ohne sie berechnet - nehmen Sie ein Referenzbuch und hier ist eine Formel. Daraus finden Sie den "durchschnittlichen Abstand in Punkten zwischen den Linien", der nach den Standardwerten im Moment 4 Sigma entspricht.
Und den Durchschnitt (für welchen Zeitraum?), machen Sie sich die Mühe, ihn zu berechnen?
Sie wollen de facto den Durchschnitt der Standardabweichung wissen.
Das ist klar! Aber die zweite Option, den Preis beim Senden der Order auf globaler Ebene zu speichern und dann in OnTradeTransaction den Preis der Transaktion zu erhalten... das ist mir nicht klar. Warum sollte man einen Preis, der nicht an den Auftrag gebunden ist, beim Senden des Auftrags speichern?
Kurz gesagt, ich werde es so machen - das Geschäft abrufen und dann alles andere aus ihm herausziehen.
Dies wurde über ruhigen Handel gesagt, wenn alles in der Zeit sein wird... Ohne dies zu berücksichtigen
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Fragen von Anfängern MQL5 MT5 MetaTrader 5
Nauris Zukas, 2022.06.11 17:49
Diese Option ist definitiv out. Was ist der Preis für mich ohne Ticket , wenn ich viele Orders sende, wie geht OnTradeTransaction damit um?