Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 16.03.22
Cobalt Cobalt ist offline
Neues Mitglied
 
Registriert seit: Aug 2021
Beiträge: 7
Cobalt befindet sich auf einem aufstrebenden Ast
Standard Einfacher SELL-Order Trailingstop klapppt nicht

Hi!

Da ich aus irgendwelchen Gründen unter MT5 keinen Trailingstop setzen kann,
habe ich versucht mir ein EA zu schreiben, der dies übernimmt.
Einen für BUY- und einen für SELL-Positionen,
etwas umständlich aber besser als ohne zu arbeiten.


Im Backtest klappt alles bestens!

Live nicht...


(lasse ihn beim Test eine Position eröffnen, habe diese Zeilen aber entfernt)


Code:
input int Trailingstop = 100;
input int Schrittgröße = 1;


#include<Trade\Trade.mqh>

CTrade  trade;

void OnTick()
  {
  double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
  CheckTrailingStop(Bid);    
  }  
  
  
void CheckTrailingStop(double Bid)  
   {
   if(PositionsTotal()>0)
   
      {
      double SL=NormalizeDouble(Bid+Trailingstop*_Point,_Digits);
         for(int i=PositionsTotal() -1; i>=0; i--) 
   
         {  
         string symbol=PositionGetSymbol(i);
         if (_Symbol==symbol)
         if (PositionGetInteger(POSITION_TYPE)==ORDER_TYPE_SELL)
         
            {
            ulong PositionTicket=PositionGetInteger(POSITION_TICKET);
            double CurrentStopLoss=PositionGetDouble(POSITION_SL);
            if (CurrentStopLoss>SL)
   
               {
               trade.PositionModify(PositionTicket,(CurrentStopLoss-Schrittgröße*_Point),0);
               }
            }
         }               
      }
   }
Was habe ich übersehen?


Bin für jeden Ratschlag dankbar!