Diskussion zum Artikel "Hinzufügen von Trailing-Stop mit Parabolic SAR"

 

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

 
Vielen Dank für den interessanten Artikel. Ich habe ihn nur kurz gelesen. Habe die Grundlagen verstanden. Von meinem Telefon aus. Zu Hause an meinem Computer werde ich mich ausführlicher damit vertraut machen und die enthaltenen Dateien in meinen Projekten analog verwenden - später.
 
Roman Shiredchenko Projekten analog verwenden - später.

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 
 
Der Artikel ist gründlich, aber er ist zu umfangreich für ein relativ kleines Thema. Nicht jeder wird ihn bewältigen können.
 
Aber alles wird von Anfang bis Ende erklärt... Es ist möglich, andere Indikatoren für Schleppnetz, wie MA zum Beispiel zu verbinden.
 
Artyom Trishkin #:

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.