Expert Advisors: Martingal basierter Expert Advisor, speziell für kleine Konten

 

Martingal basierter Expert Advisor, speziell für kleine Konten:

Martingal basierter Expert Advisor, speziell für kleine Konten.


Autor: Vladimir Karputov

 

Hallo, Vladimir!

Ich habe diesen Expert Advisor ein wenig getestet. Ich habe ihn einen Tag lang in der Demo und im Tester laufen lassen. Sowohl bei der ersten als auch bei der zweiten Art von Test gab es Fragen zur Korrektheit des Codes. Als der Expert Advisor in der Demo lief, eröffnete er beispielsweise in einem bestimmten Zeitraum neue Positionen, nachdem er alle Positionen nicht mit dem Mindestlos, sondern mit dem nächsten Schritt geschlossen hatte. Das hat zwar den Saldo deutlich erhöht, aber ich denke, die Logik hat versagt. Und als ich mit der Visualisierung getestet habe, ist es nicht ungewöhnlich, dass der Expert Advisor nach dem Öffnen von 2-3 Positionen und dem Erreichen eines Gesamtgewinns, der höher ist als der in der InpMinProfit-Variable eingestellte, diese nicht schließt, sondern darauf wartet, dass sie alle mit dem Take Profit geschlossen werden.

Leider bin ich nicht gut mit OOP und C++-Programmierung, so dass selbst wenn ich den Quellcode sehe, kann ich nicht verstehen, warum dies geschieht.

 

Ich weiß nicht, ob es möglich ist, dass dieser EA bei X Dollar über der "Hochwassermarke" des Eigenkapitals aussteigt... anstelle des generischen "close all", das auf den Mindestgewinn eingestellt ist. Ich kann es immer manuell mit diesem aktuellen EA (großartige EA) berechnen... aber die Einführung von "Hochwassermarken-Denken" wäre revolutionär! Wäre es nicht auch genial, die Schritte mit ATR? zu automatisieren, anstatt sie manuell und statisch festzulegen? Dies würde es diesem EA ermöglichen, sich in den langsamen Zeiten "selbst zu regulieren".

mb

 
Gute Strategie. Welches Signal verwendet er, um Käufe und Verkäufe zu eröffnen?
 
sergiomt :
Gute Strategie. Welches Signal nutzt er, um Käufe und Verkäufe zu eröffnen?

Entscheidungsblock:

   if(count_buys==0 || count_sells==0) // Überprüfung der Eröffnung der Position "Verkaufen"
     {
      if(count_buys==0 && count_sells>0)
        {
         if(m_symbol.Bid()-price_highest_sell>ExtStep)
            need_to_open_a_sell=true;
        }
      else if(count_sells==0 && count_buys>0)
        {
         if(price_lowest_buy-m_symbol.Ask()>ExtStep)
            need_to_open_a_buy=true;
        }
     }

"need_to_open_a_sell" und"need_to_open_a_sell" - Handelssignale

 
Schließt offene Positionen nicht um den Wert im Parameter - Min Profit for Close All.
 
qazzaq12345:
Schließt offene Positionen nicht nach dem Wert im Parameter - Min profit for close all.

Bitte zeigen Sie die Einstellungen des Expert Advisors und die Logdatei. Welche Positionen wurden nicht geschlossen?

 
Wo ist der StopLoss?
 
forexprofitid :
Wo ist der StopLoss?

Martingale hat keinen Stop-Loss. Für Martingale gibt es nur einen natürlichen Stop Loss - das ist der Abfluss des Depots.

 

Hallo, danke für EA

wäre es möglich, den Eingangsparameter zu trennen, um nur zu verkaufen, oder nur kaufen? ATT

 

Hallo Vladimir, danke für deinen Code. Es ist sehr interessant.

Ich bin neu in der MT5-Codierung.

Wie könnte ich die Funktion von void CloseAllPositions () verstehen?

Es scheint, dass die Funktion nicht alle Positionen schließt, sondern nur die Position, die die Take-Profit-Pips erreicht hat.

Ich hoffe, es macht Ihnen nichts aus, mir Schritt für Schritt zu erklären. Und wie sollte ich es ändern, so dass alle Positionen geschlossen werden, sobald der größte geöffnete Handel die Gewinn-Pips erreicht hat?

Danke!

Void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // gibt die Anzahl der aktuellen Positionen zurück
      if(m_position.SelectByIndex(i))     // wählt die Position über den Index aus, um weiteren Zugriff auf ihre Eigenschaften zu erhalten
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
            m_trade.PositionClose(m_position.Ticket()); // Schließen einer Position durch das angegebene Symbol
   }