Expert Advisors: TrailingTakeProfit

 

TrailingTakeProfit:

Dieser nicht handelnde Expert Advisor ist für das einfache Trailing von Take-Profit-Orders offener Positionen konzipiert.


Autor: Scriptor

 
//+------------------------------------------------------------------+
//| Ändert die auf dem Ticket ausgewählte Position |
//+------------------------------------------------------------------+
bool PositionModifyByTicket(const string symbol_name,const ulong magic_number,const ulong ticket,const double sl,const double tp)
  {
//--- Prüfung gestoppt
   if(IsStopped())
      return(false);
//--- sauber
   ZeroMemory(g_request);
   ZeroMemory(g_result);
//--- Einstellungsanforderung
   g_request.action  =TRADE_ACTION_SLTP;
   g_request.position=ticket;
   g_request.symbol  =symbol_name;
   g_request.magic   =magic_number;
   g_request.sl      =sl;
   g_request.tp      =tp;
//--- Aktion und Rückgabe des Ergebnisses
   return(OrderSend(g_request,g_result));
  }

Überflüssig.

 
//+------------------------------------------------------------------+
//|| Nachlaufende Funktion|
//+------------------------------------------------------------------+
void Trailing(void)
  {
   int   total=PositionsTotal();
   for(int i=total; i>=0; i--)
     {
      ulong ticket=PositionGetTicket(i);
      if(ticket==0) continue;
      string symbol_name=PositionGetString(POSITION_SYMBOL);
      ulong  magic_number=(ulong)PositionGetInteger(POSITION_MAGIC);
      ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
      if(InpPositionType>WRONG_VALUE && type!=(ENUM_POSITION_TYPE)InpPositionType) continue;

Es ist sehr kostspielig (insbesondere bei Zeichenketten), vor allen Continue-Prüfungen spezielle Variablen zu erstellen.


Stellen Sie sich eine einfache Optimierung für 100.000 Durchläufe von 10.000.000 Ticks vor. Dann wird OnTick eine TRILLION Mal aufgerufen. Jede zusätzliche Aktion, die eine Billion Mal aufgerufen wird, kostet zusätzliche Sekunden/Minuten/Stunden. Schätzen Sie Ihre eigene Zeit und die der anderen.

 
fxsaber:

Es ist sehr kostspielig (vor allem bei Zeichenketten), vor allen "Continue"-Prüfungen spezielle Variablen zu erstellen.


Stellen Sie sich eine einfache Optimierung für 100.000 Durchläufe von 10.000.000 Ticks vor. Dann wird OnTick eine TRILLION Mal aufgerufen. Jede zusätzliche Aktion, die eine Billion Mal aufgerufen wird, kostet zusätzliche Sekunden/Minuten/Stunden. Schätzen Sie Ihre Zeit und die Zeit anderer Leute.

Dies ist kein Trading EA. Warum sollte er optimiert werden? Es ist nur ein Schleppnetz. Und ein seltsames noch dazu.
 
Artyom Trishkin:
Es handelt sich nicht um einen Handels-EA. Warum sollte er optimiert werden? Es ist nur ein Schleppnetz. Und ein seltsames noch dazu.

Es ist eine wandernde Trailing-Funktion für Trainingszwecke.

 
fxsaber:

Dies ist eine migrierende Trailing-Funktion für Schulungszwecke.

Es reicht nicht aus, zu migrieren. Nur im Zusammenhang mit diesem Code.
 
Artyom Trishkin:
Unzureichend für die Migration. Nur im Zusammenhang mit dem betreffenden Code.

Migrierend - wenn 90% des Codes ausgeliehen sind.