Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 405
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
Hier ist der Code:
Sie berücksichtigen nicht die Möglichkeit, dass OrderStopLoss() gleich Null ist. Und Null wird in jedem Fall kleiner sein als der AusdruckAsk+(TrailingStop+TrailingStep)*Point, und die Bedingung wird falsch zurückgeben.
Vielen Dank,Vitalii Ananev,Vladimir Zubov!
Ich schreibe einen EA, der auf dem RSI-Indikator basiert. Das Prinzip des EA wird sein, Aufträge durch den Indikator zu öffnen, aber es wird auch durch den gleichen Indikator schließen (ich weiß nicht, Schlusskurs)
if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )
OrderClose(Ticket,Lot,Ask,Slippage,Blue);
zurück(0);
Diese Bedingung ist nicht erfüllt. Und warum? (Er öffnet und schließt den Auftrag sofort wieder, und so weiter in der Schleife).
Das ist die wichtigste Frage. Mein Expert Advisor wird mit einer großen Anzahl von Aufträgen arbeiten, und ich muss den Durchschnitts-, Höchst- und Tiefstpreis für alle Aufträge auf dem Markt berechnen. Wie finde ich die Schlusskurse aller Aufträge, um einen Gesamtgewinn und andere ähnliche Operationen zu erzielen?
Wie in der Referenz angegeben, gibt es einen Fehler.
Ja!? Und welche Art von Fehlermeldung erhalten Sie? Was sagt der Compiler dazu?
Vielen Dank,Vitalii Ananev,Vladimir Zubov!
Ich schreibe einen EA, der auf dem RSI-Indikator basiert. Das Prinzip des EA wird sein, Aufträge durch den Indikator zu öffnen, aber es wird auch durch den gleichen Indikator schließen (ich weiß nicht, Schlusskurs)
if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )
OrderClose(Ticket,Lot,Ask,Slippage,Blue);
zurück(0);
Diese Bedingung ist nicht erfüllt. Und warum? (Er öffnet und schließt den Auftrag sofort wieder, und so weiter in der Schleife).
Das ist die wichtigste Frage. Mein Expert Advisor wird mit einer großen Anzahl von Aufträgen arbeiten, und ich muss den Durchschnitts-, Höchst- und Tiefstpreis für alle Aufträge auf dem Markt berechnen. Wie finde ich die Schlusskurse aller Aufträge, um einen Gesamtgewinn und andere ähnliche Operationen zu erzielen?
Der Schlusskurs einer Position ist erst dann bekannt, wenn die Position geschlossen wird. Danach können Sie den Schlusskurs in der Historie der Trades mit der Funktion OrderClosePrice() ermitteln.
Er öffnet und schließt die Position sofort, da die Schließungsbedingung erfüllt ist. Überprüfen Sie die Logik der Schließbedingung. Versuchen Sie, ihn anfangs so zu schreiben:
Lesen Sie den Hinweis auf die Priorität von Berechnungen logischer Ausdrücke.
"Sie müssen den Durchschnitts-, Höchst- und Tiefstpreis für alle Aufträge auf dem Markt berechnen" - Entschuldigung, von welchem Preis ist die Rede? Der Preis des offenen Auftrags? Der aktuelle Kurs eines Währungspaares? Der Preis, bei dem der Gesamtgewinn aller offenen Positionen ohne Verluste erreicht wird?
Ja!? Und welche Art von Fehlermeldung gibt sie aus? Was sagt der Compiler dazu?
Der Schlusskurs der Position ist erst bekannt, wenn die Position geschlossen wird. Die Funktion OrderClosePrice() ist dann in der Transaktionshistorie zu finden.
Er öffnet und schließt die Positionen sofort, da die Schließungsbedingung erfüllt ist. Überprüfen Sie die Logik der Schließbedingung. Versuchen Sie, ihn anfangs so zu schreiben:
Lesen Sie die Hilfe zur Priorität von Berechnungen logischer Ausdrücke.
Nun, wie in zum Beispiel mit einem Raster, es brauchen eine insgesamt TP oder (und) der Gesamtpreis.
Vielleicht gibt es einen Zwischenspeicher, in dem der Preis gespeichert werden sollte, oder der Indikator selbst hat einen Zwischenspeicher, in dem der offene Preis des letzten Auftrags gespeichert wird (und Sie können den Preis von dort in unseren globalen Zwischenspeicher übernehmen und speichern).
Wenn wir ein Raster festlegen, benötigen wir einen Gesamt-TP oder (und) einen Gesamtpreis.
Vielleicht gibt es einen oder mehrere Puffer, um den Preis zu speichern, oder im Indikator selbst gibt es einen Puffer, in dem der Eröffnungskurs der letzten Bestellung gespeichert wird (und von dort können wir ihn in unseren globalen Puffer übernehmen und speichern).
Vielen Dank,Vitalii Ananev,Vladimir Zubov!
Ich schreibe einen EA, der auf dem RSI-Indikator basiert. Das Prinzip des EA wird sein, Aufträge durch den Indikator zu öffnen, aber es wird auch durch den gleichen Indikator schließen (ich weiß nicht, Schlusskurs)
if(OrderType()==OP_BUY && irsa <=20 || irsa >=40 )
OrderClose(Ticket,Lot,Ask,Slippage,Blue);
zurück(0);
Diese Bedingung ist nicht erfüllt. Und warum? (Er öffnet und schließt den Auftrag sofort wieder, und so weiter in der Schleife).
Das ist die wichtigste Frage. Wenn Ihr EA mit einer großen Anzahl von Aufträgen arbeitet und Sie den Durchschnitts-, Höchst- und Tiefstpreis für alle Aufträge auf dem Markt berechnen müssen, wie finden Sie den Schlusspreis aller Aufträge, um einen Gesamtgewinn und andere ähnliche Operationen zu erzielen?
Sie versuchen, einen Kaufauftrag für einen asc zu schließen. Wenn Sie die grundlegenden Dinge nicht verstehen, lesen Sie die Dokumentation.
Oder sind Sie an die Faustformel gewöhnt?
Wenn wir ein Raster festlegen, benötigen wir einen Gesamt-TP oder (und) einen Gesamtpreis.
Vielleicht gibt es einen oder mehrere Puffer, um den Preis zu speichern, oder im Indikator selbst gibt es einen Puffer, in dem der Eröffnungskurs der letzten Bestellung gespeichert wird (und von dort können wir ihn in unseren globalen Puffer übernehmen und speichern).