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
Hallo Mladen, wie immer, du rockst!
Terrance Verwenden Sie in diesem Fall Close[0]. Fast jeder EA verwendet Close für diesen Zweck, also denke ich, dass es auch bei dir funktionieren wird
...
Wenn Ihr EA nur ausgeführt wird, wenn der Balken beginnt, kann das mehrere Gründe haben:
Mir ist aufgefallen, dass mein EA nicht zwischen den Preisbewegungen im M1-Zeitrahmen läuft. Ich weiß, dass EA jeden Tick ausgeführt wird, der hereinkommt.
Aber ich habe gesehen, dass er bei jedem Start eines neuen Balkens ausgeführt wird.
Bin ich falsch verstanden?
Gibt es eine Möglichkeit, den EA zu zwingen, jeden Tick zu aktivieren, der hereinkommt?
Ich versuche, meinen Gewinn und Verlust zu kontrollieren, indem ich Gewinne und Verluste nicht in Pips. Wenn Spike passieren EA nicht schließen, um zu erreichen, um die Einstellung Gewinne oder Verluste, bis neue bar auftreten.
Kann mir jemand helfen, dieses Problem zu lösen.
Ich bin neu in der EA-Codierung.
Ich danke Ihnen im Voraus.Vielen Dank, mladen.
Ich werde Ihren Vorschlag ausprobieren.
Grüße Coding-Götter,
Ich benötige Hilfe bei der Suche nach einer EA-Funktion, die die Ausführung von gesendeten Aufträgen so steuert, dass ein Auftrag nicht geöffnet werden kann, wenn bereits ein Auftrag zum selben Preis existiert.
Einfache Logik: wenn der offene Preis der Order und der Ordertyp = ein bestehender offener Preis der Order und der Ordertyp, dann Ausstieg und Suche nach dem nächsten Einstiegskriterium
Außerdem benötige ich eine Funktion, die verhindert, dass eine Order ausgeführt wird, wenn sie x Pips von einem bereits bestehenden Preis entfernt ist.
einfache Logik: wenn der Preis und der Typ der offenen Order < dem Preis und dem Typ der letzten offenen Order + x Pips ist, dann verlasse die Funktion und suche nach dem nächsten Einstiegskriterium
Danke!
Pip
...
Probieren Sie diese 2 Funktionen aus .Beide geben true zurück, wenn der Preis gleich ist oder wenn der Abstand zum Preis einiger aktuell geöffneter Orders innerhalb des angegebenen Abstands liegt
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (CompareDouble(OrderOpenPrice(),price)) return(true);
}
return(false);
}
//
//
//
//
//
bool existsAtApproximatePrice(int magicNumber, double price, double distance)
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (MathAbs(OrderOpenPrice()-price)< distance) return(true);
}
return(false);
}
//
//
//
//
//
bool CompareDouble(double val1, double val2)
{
return(NormalizeDouble(val1,Digits)==NormalizeDouble(val2,Digits));
}
Grüße Coding-Götter,
Ich benötige Hilfe bei der Suche nach einer EA-Funktion, die die Ausführung von gesendeten Aufträgen dahingehend steuert, dass ein Auftrag nicht geöffnet werden kann, wenn bereits ein Auftrag zum selben Preis existiert.
einfache Logik: wenn der offene Preis der Order und der Ordertyp = ein bestehender offener Preis der Order und der Ordertyp, dann Ausstieg und Suche nach dem nächsten Einstiegskriterium
Außerdem brauche ich eine Funktion, die verhindert, dass eine Order ausgeführt wird, wenn sie x Pips von einem bereits existierenden Preis entfernt ist.
einfache Logik: wenn der Preis und der Typ der offenen Order < dem Preis und dem Typ der letzten offenen Order + x Pips ist, dann verlasse die Funktion und suche nach dem nächsten Einstiegskriterium
Danke!
PipEs kann eine Reihe von Gründen, aber die häufigsten sind:
Hallo!
Danke für die Hilfe!
Also, wenn ich das richtig verstehe, wenn ich TakeProfit und StopLoss in OrderSend als Externe "Regeln" einfüge, funktioniert dieser EA nur bei Nicht-ECN-Brokern richtig?
Entschuldigung für mein Englisch
...
Ja
Bei ECN/STP-ähnlichen Brokern müssen Sie eine Order mit einem auf 0 gesetzten Stop-Loss und/oder Take-Profit eröffnen, und wenn die Order bereits eröffnet ist, können Sie den Stop-Loss und/oder den Take-Profit erst dann ändern.
Hallo!
Vielen Dank für Ihre Hilfe!
Also, wenn ich richtig verstehe, wenn ich TakeProfit und StopLoss in OrderSend als Externe "Regeln" einfüge, funktioniert dieser EA nur bei Nicht-ECN-Brokern richtig?
sorry für mein EnglischJa Mit ECN/STP wie Makler müssen Sie eine Bestellung mit Stop-Loss und / oder Take-Profit auf 0 und wenn die Bestellung bereits geöffnet ist, nur dann können Sie ändern, Stop-Loss und / oder Take-Profit
Nochmals vielen Dank, so... wie kann ich das beheben? sorry
...
Wie ich schon sagte, müssen Sie es in 2 Schritten tun:
Der Code muss also geändert werden, um die Aufgabe in 2 Schritten zu erledigen, anstatt in einem
Nochmals vielen Dank, also... wie kann ich das beheben? sorry
Neu im Programmieren
Hallo zusammen,
Ich bin neu in der Codierung und habe langsam die Sprache und Syntax zu lernen, aber haben mit einer Frage darüber, wie MT4 aktualisiert die Variablen kommen.
Ich habe versucht, Code und einfache EA, die den höchsten Gewinn zeigt eine derzeit offene Handel hatte und sollte nur aktualisieren, wenn ein neues Hoch erreicht wird, aber was geschieht, ist der Betrag bewegt sich nach unten und oben, wie der Gewinn tut, kann ich nicht scheinen, um meinen Fehler in der Code-Logik zu sehen.
Ich überprüfe, ob der ausgewählte Handel noch offen ist
t_CloseTime=OrderCloseTime(); //gibt 0 zurück, wenn die Order nicht geschlossen ist
if(t_CloseTime==0) //Order ist geschlossen, wenn nicht Null.
{
if(OrderProfit() > LastProfitHigh) LastProfitHigh=OrderProfit();
if(LastProfitHigh >= MinProfit && MinProfitReached==false) MinProfitReached=true;
}//endif
Wenn die Logik korrekt ist, warum steigt und fällt die Variable "LastProfitHigh"? ....
Vielen Dank für Ihre Hilfe.