- Merkmale der Sprache mql4, Feinheiten und Techniken
- Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes
- Fragen von Anfängern MQL5 MT5 MetaTrader 5
wenn einePosition erfolgreich durch einen Marktauftrageröffnet wird, jedes Mal ein Null-Ergebnis erzielt wird?
Sobald OrderSend ausgeführt wurde, ist die Adressierung des betreffenden Auftrags, der betreffenden Position oder des betreffenden Geschäfts nicht immer erfolgreich. Es gibt Situationen, in denen Sie ein paar Dutzend Millisekunden warten müssen, bis historische oder aktuelle Handelsinformationen korrekt sind.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
TakeProfit (und StopLoss) einer geschlossenen Position
fxsaber, 2016.07.17 20:19
Dies ist kein willkürlicher Vorwurf, sondern das Ergebnis stundenlanger Versuche, herauszufinden (kein HistorySelectByPosition und anderes Zeug hilft), wie alles funktioniert. Und ich entschuldige mich gerne, wenn ich mich irre. Um nicht unbegründet zu sein, zeige ich einen Expert Advisor für den Tester (er ist leichter zu verstehen) auf dem RoboForexEU-MetaTrader 5-Server, der eine Position eröffnet und dann SL- und TP-Level setzt.
void OnTick() { static bool Flag = true; if (Flag) { // Открываем SELL-позицию MqlTradeRequest Request = {0}; Request.action = TRADE_ACTION_DEAL; Request.symbol = Symbol(); Request.volume = 1; Request.price = SymbolInfoDouble(Symbol(), SYMBOL_BID); Request.type = ORDER_TYPE_SELL; MqlTradeResult Result; if (OrderSend(Request, Result)) { // Устанавливаем SL и TP Request.position = Result.deal; Request.action = TRADE_ACTION_SLTP; Request.tp = Result.ask - 10 * _Point; Request.sl = Result.ask + 10 * _Point; if (OrderSend(Request, Result)) Print("Сделка в тестере закроется либо по SL, TP, либо по окончании бэктеста") ; Flag = false; } } }
In diesem EA können SL und TP einer einzelnen geschlossenen Position nicht definiert werden (in OnDeinit). Soll das so sein?
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Eine Alternative zu Sleep zur Ausführung im Tester
Vitalie Postolache, 2017.02.10 18:01
Funktionieren die Timer im MT5-Tester?Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Alternative zu Sleep für den Betrieb im Testgerät
Slawa, 2017.02.22 11:16
Ja, aber nur für den getesteten EA. Nicht für Indikatoren, die vom Expert Advisor verwendet werdenForum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Slawa, 2017.02.14 13:46
Warum? Eine einzige Aktion ist ausreichend.Solange das Symbol in der Marktübersicht ausgewählt ist und die Historie des Symbols im Expert Advisor gespeichert ist, wird es synchronisiert. Das Halten durch den Expert Advisor bedeutet, dass Sie mindestens einmal alle 2 Minuten auf diese Historie zugreifen, indem Sie zum Beispiel einen Balken kopieren. Wenn die Historie synchronisiert ist, wird für das Kopieren eines Taktes keine Zeit aufgewendet - nur ein paar Prozessorzyklen. Oder, wie es hier gerade gesagt wurde, fragen Sie nach der Anzahl der Takte, auch ein paar Taktzyklen
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Alexey Kozitsyn, 2017.02.14 13:47
Enthalten die Indikatoren ein 2-Minuten-Intervall?
Ja, und wird bei der Überprüfung der Synchronisierung auch die Synchronisierung beibehalten?
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Slawa, 2017.02.14 13:50
Dies gilt auch für Indikatoren. Erstellen Sie einen 1-Minuten-Timer und fragen Sie nach der Anzahl der Balken aller interessierenden Zeitreihen.Die Überprüfung der Zeitmessung hält die Zeit nicht ein.
Sobald OrderSend ausgeführt wurde, ist der Verweis auf den entsprechenden Auftrag, die Position oder den Handel nicht immer erfolgreich. Es gibt Situationen, in denen Sie ein paar Dutzend Millisekunden warten müssen, bis die historischen oder aktuellen Handelsinformationen korrekt sind.
Sie müssen nicht ein paar Millisekunden warten.
Die Nachricht wird in OnTradeTransaction erscheinen
siehe Code
Sie müssen nicht ein paar Millisekunden warten.
Die Nachricht wird in OnTradeTransaction erscheinen
siehe Code.
In den Skripten gibt es das nicht. Es ist dumm, EA+ExpertRemove anstelle des Skripts zu verwenden.
Außerdem stürzt OrderSend durch Timeout ab, wenn 180 Sekunden lang keine Antwort vom Server kommt. Dies deutet darauf hin, dass die OnTradeTransaction ewig auf Tickets warten kann. Und die Option von nur einem order_ticket für OnTradeTransaction, wie in Ihrem Skript, ist schlecht. Nach dem asynchronen Senden wird mit Auftragslisten gearbeitet. Deshalb ist es asynchron - um mit Stapeln zu arbeiten. Und wenn es keine Arbeit mit Batch gibt, dann wird async nie benötigt.

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.