Sie sind willkommen. Es wird bald einen Artikel über Trailing-Klassen geben - als logische Schlussfolgerung aus diesem Thema.
Sie werden dann, sagen wir mal, korrekter und, wie ich finde, auch bequemer eingesetzt.
Vielen Dank für den Artikel,
Aber ich möchte, dass Sie dies ändern, um Abbruchfehler bei fp-Nummern zu vermeiden:
pos_profit_pt= int ((tick.bid - pos_open) / Point ()); // Berechnung des Gewinns der Position in Punkten
To:
pos_profit_pt= (int) MathRound((tick.bid - pos_open) / Point ()); // Berechnung des Gewinns der Position in Punkten
Bitte sehr. In Kürze wird ein Artikel über Nachlaufklassen erscheinen - als logische Schlussfolgerung zu diesem Thema.
Sie werden dann, sagen wir mal, korrekter und meiner Meinung nach auch bequemer verwendet werden.
Vielen Dank - ich habe die Beispiele in meine Roboter aufgenommen:
//--- wenn es keinen neuen Takt gibt - den Handler verlassen if(!IsNewBar()) return; и //--- Setzen der magischen Zahl im Handelsklassenobjekt ExtTrade.SetExpertMagicNumber(InpMagic);
Ich beschäftige mich selbst mit einem solchen Thema....
//+------------------------------------------------------------------+ //| Offene Positionen verwalten: Trailing Stop | //+------------------------------------------------------------------+ void ManageOpenPositions(string Sym, int mn) { if(TrailingStop > 0) for(int i = 0; i < PositionsTotal(); i++) { if(PositionGetSymbol(i)==Sym) // Auswählen und prüfen, ob sich die Position auf dem aktuellen Symbol befindet if(PositionGetString(POSITION_SYMBOL) == Sym) if(PositionGetInteger(POSITION_MAGIC)==mn || mn == -1) { ulong ticket = (ulong)PositionGetInteger(POSITION_TICKET); // Abrufen des Positionstickets ...
Ich werde auch die von Ihnen vorgeschlagene Variante in die Arbeit einbeziehen:
//+------------------------------------------------------------------+ StopLoss-Nachlauffunktion nach StopLoss-Kurswert //| //+------------------------------------------------------------------+ void TrailingStopByValue(const double value_sl, const long magic=-1, const int trailing_step_pt=0, const int trailing_start_pt=0) { //--- Preisstruktur MqlTick tick={}; //--- im Zyklus nach Gesamtzahl der offenen Positionen int total=PositionsTotal(); for(int i=total-1; i>=0; i--) { //--- das nächste Positionsticket erhalten ulong pos_ticket=PositionGetTicket(i); if(pos_ticket==0) continue; //--- Symbol und Positionsmagie erhalten string pos_symbol = PositionGetString(POSITION_SYMBOL); long pos_magic = PositionGetInteger(POSITION_MAGIC); //--- Überspringen von Positionen, die nicht mit den Symbol- und Magick-Filtern übereinstimmen if((magic!=-1 && pos_magic!=magic) || pos_symbol!=Symbol()) continue; //--- wenn keine Preise ermittelt wurden - weitergehen if(!SymbolInfoTick(Symbol(), tick)) continue; ...
Kann jemand detailliert erklären, oder einen fertigen Code (oder Datei) posten? eines solchen EA:
der diese Tral.
OHNE ROBOT!
ständig bewegte sl bei ALLEN Positionen eröffnet MANUELL.

- 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.
Neuer Artikel Hinzufügen von Trailing-Stop mit Parabolic SAR :
Wenn wir eine Handelsstrategie entwickeln, müssen wir verschiedene Optionen für einen schützenden Stopp testen. Hier bietet sich ein dynamisches Nachziehen des dem Kurs folgenden Stop-Loss-Levels an. Der beste Kandidat dafür ist der Parabolic SAR-Indikator. Es ist schwierig, sich etwas Einfacheres und visuell Klareres vorzustellen.
Der Trailing-Stop ist eine automatische Verschiebung der StopLoss-Position hinter den Kurs, die es ermöglicht, den Schutz-Stop ständig in einem gewissen Abstand zum Kurs zu halten. Dieser Ansatz ermöglicht es dem Händler, einen Teil des aufgelaufenen Gewinns zu schützen, ohne die Position vorzeitig zu verlassen. Jedes Mal, wenn sich der Marktpreis vom Eröffnungskurs der Position entfernt, zieht der Trailing-Stop den StopLoss automatisch nach, wobei der festgelegte Abstand zum aktuellen Kurs beibehalten wird. Nähert sich der Kurs jedoch dem Eröffnungskurs, bleibt der StopLoss auf demselben Niveau. Dies bietet Schutz vor Verlusten aufgrund möglicher Marktschwankungen.
Wenn Sie jedoch eine speziellere Version des Trailing-Stop benötigen, können Sie jederzeit eine Funktion in MQL5 entwickeln, um die Möglichkeiten des Standardtools zu erweitern.
Es gibt eine Programmfunktion, der der gewünschte Kurs übergeben wird, um das StopLoss-Niveau zu setzen. Das Programm prüft einige Verbotsfaktoren, wie z.B. das StopLevel-Niveau - der Abstand, in dessen Nähe keine Stops gesetzt werden können, oder das FreezeLevel-Niveau - der „Einfrierabstand“, innerhalb dessen eine Position oder ein schwebender Auftrag nicht geändert werden kann. Mit anderen Worten: Wenn sich der Kurs dem Stop-Level der Position in einem Abstand genähert hat, der näher als das FreezeLevel-Level ist, wird erwartet, dass der Stop-Auftrag ausgelöst wird, und eine Änderung ist nicht zulässig. Trailing-Stops haben auch einige individuelle Parametereinstellungen, die ebenfalls überprüft werden, bevor das Stop-Loss-Niveau auf den angegebenen Preis verschoben wird, zum Beispiel das Symbol und die Magie der Position. Alle diese Kriterien werden unmittelbar vor dem Verschieben der StopLoss-Position auf das angegebene Niveau überprüft.
Parabolic SAR-Indikator dient perfekt als „Zeiger“ für die von StopLoss benötigten Niveaus.
Autor: Artyom Trishkin