Für GIM Wenn Sie nur Aufträge eröffnen wollen, geben Sie 0 anstelle von SL / TP an. Wenn SL oder TP 0 ist, müssen Sie in Ihrer Anfrage 0 eingeben, und wenn Sie einen Wert eingeben, müssen Sie den Preis berechnen, zu dem der Auftrag geschlossen wird.
Dmitriy Gizlyk: Für GIM Wenn Sie nur Aufträge eröffnen wollen, geben Sie 0 anstelle von SL / TP an. Und für den Future müssen Sie prüfen: wenn SL oder TP 0 ist, dann müssen Sie 0 in der Anfrage angeben. Und wenn Sie einen Wert angeben, dann berechnen Sie den Schlusskurs der Order.
Ich möchte, dass der Expert Advisor Aufträge entsprechend dem Gesamtgewinn für alle Trades öffnet und schließt....
Lesen Sie das Protokoll. Möglicherweise gibt es dort Meldungen über Fehler, die beim Kompilieren nicht erkannt wurden.
Hier liegt ein Fehler vor OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid-SL*Point,Bid+TP*Point,NULL,0,0,CLR_NONE);
müssen Sie wie folgt vorgehen OrderSend(Symbol(),OP_SELL,Lots,Bid,Bid,3,Ask+SL*Point,Bid-TP*Point,NULL,0,0,CLR_NONE);
Wenn Sie verkaufen, sollte der Stop-Loss über dem aktuellen Kurs liegen und der Take darunter. In Ihrem Fall hingegen haben Sie den Stop unter den Kurs gesetzt und der Take liegt darüber.
Um eine Position zu schließen, müssen wir den erzielten Gewinn bei jedem Tick mit dem eingestellten Wert vergleichen. Und wenn der Gewinn den angegebenen Wert erreicht, müssen wir alle Aufträge in der Schleife durch OrderClose(....) schließen.
Je nach Aufgabendefinition des aktuellen Gewinns kann es Abweichungen geben. Wenn Sie sich den Gewinn des Kontos ansehen, können Sie einfach AccountProfit() nehmen, aber der arbeitsintensivere Weg ist wahrscheinlich durch eine Schleife (dann können wir den Gewinn nur für die notwendigen Aufträge berechnen).
Um eine Position zu schließen, müssen wir den erzielten Gewinn bei jedem Tick mit dem eingestellten Wert vergleichen. Und wenn der Gewinn den angegebenen Wert erreicht, müssen wir alle Aufträge in der Schleife durch OrderClose(....) schließen.
Was die Ermittlung des laufenden Gewinns betrifft, so kann es je nach Aufgabenstellung Abweichungen geben. Wenn Sie sich den Gewinn des Kontos ansehen, können Sie einfach AccountProfit() nehmen, aber der arbeitsintensivere Weg ist wahrscheinlich durch einen Zyklus (dann können Sie den Gewinn von nur notwendigen Bestellungen berechnen).
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Wenn Sie nur Aufträge eröffnen wollen, geben Sie 0 anstelle von SL / TP an. Wenn SL oder TP 0 ist, müssen Sie in Ihrer Anfrage 0 eingeben, und wenn Sie einen Wert eingeben, müssen Sie den Preis berechnen, zu dem der Auftrag geschlossen wird.
Für GIM
Wenn Sie nur Aufträge eröffnen wollen, geben Sie 0 anstelle von SL / TP an. Und für den Future müssen Sie prüfen: wenn SL oder TP 0 ist, dann müssen Sie 0 in der Anfrage angeben. Und wenn Sie einen Wert angeben, dann berechnen Sie den Schlusskurs der Order.
Lesen Sie das Protokoll. Möglicherweise gibt es dort Meldungen über Fehler, die beim Kompilieren nicht erkannt wurden.
Hier liegt ein Fehler vor OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid-SL*Point,Bid+TP*Point,NULL,0,0,CLR_NONE);
müssen Sie wie folgt vorgehen OrderSend(Symbol(),OP_SELL,Lots,Bid,Bid,3,Ask+SL*Point,Bid-TP*Point,NULL,0,0,CLR_NONE);
Wenn Sie verkaufen, sollte der Stop-Loss über dem aktuellen Kurs liegen und der Take darunter. In Ihrem Fall hingegen haben Sie den Stop unter den Kurs gesetzt und der Take liegt darüber.
Ich möchte, dass der Expert Advisor Aufträge nach Gesamtgewinn für alle Trades öffnet und schließt....
In diesem Fall setzen Sie bei der Eröffnung einer Position SL=0, TP=0.
Um eine Position zu schließen, müssen wir den erzielten Gewinn bei jedem Tick mit dem eingestellten Wert vergleichen. Und wenn der Gewinn den angegebenen Wert erreicht, müssen wir alle Aufträge in der Schleife durch OrderClose(....) schließen.
Je nach Aufgabendefinition des aktuellen Gewinns kann es Abweichungen geben. Wenn Sie sich den Gewinn des Kontos ansehen, können Sie einfach AccountProfit() nehmen, aber der arbeitsintensivere Weg ist wahrscheinlich durch eine Schleife (dann können wir den Gewinn nur für die notwendigen Aufträge berechnen).
In diesem Fall setzen Sie bei der Eröffnung einer Position SL=0, TP=0.
Um eine Position zu schließen, müssen wir den erzielten Gewinn bei jedem Tick mit dem eingestellten Wert vergleichen. Und wenn der Gewinn den angegebenen Wert erreicht, müssen wir alle Aufträge in der Schleife durch OrderClose(....) schließen.
Was die Ermittlung des laufenden Gewinns betrifft, so kann es je nach Aufgabenstellung Abweichungen geben. Wenn Sie sich den Gewinn des Kontos ansehen, können Sie einfach AccountProfit() nehmen, aber der arbeitsintensivere Weg ist wahrscheinlich durch einen Zyklus (dann können Sie den Gewinn von nur notwendigen Bestellungen berechnen).
Wenn Stoploss und Take Profit in der Einzahlungswährung angegeben sind
for(int i=0;i<OrdersTotal();i++)
Fehler: "i"
Wer weiß
Die Kennung der Aufträge des Expert Advisors, so dass er nur mit seinen eigenen Aufträgen arbeitet.
Die Kennung der Aufträge des Expert Advisors, so dass er nur mit seinen eigenen Aufträgen arbeitet.