Einzelnen Beitrag anzeigen
  #5 (permalink)  
Alt 17.10.21
Nextrader Nextrader ist offline
Neues Mitglied
 
Registriert seit: Aug 2020
Beiträge: 14
Nextrader befindet sich auf einem aufstrebenden Ast
Standard

Also musste echt jetzt Grübeln...

Vielleicht vorab die Idee bzw. Vorgabe des TSL.

1. Order wird platzierst z.B. Buy
2. fester SL wird gesetzt
3. Kurs bewegt sich nach oben, dann wird Breakeven gesetzt.
4. Kurs steigt weiter TSL wird gesetzt und dann nachgezogen.
!! Wichtig ist das wenn Breakeven oder TSL gesetzt wird, diese sich nicht zurück bewegen!!

Bei Long:

PHP-Code:
        //SL Long Deals Setzen
     
for(int bOrdersTotal()-1b>= 0b--)
      {
        
//Eine Order wird ausgewählt
       
if (OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
         
//Symbol Order mit Chart prüfen
         
if(OrderSymbol() == Symbol())
         
//Wir pruefen ob es sich um eine Kauf Order handelt
         
if(OrderType() == OP_BUY)
          {
            if(
OrderCloseTime()==&& OrderStopLoss()==0)
               {
                  
double StopLossNormalizeDouble(OrderOpenPrice()- (SL_Point_Point),Digits);
                  
bool OrderAngepasst OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,clrYellow);

               }
        
           
         
//Breakeven
            
if(BreakEven && OrderStopLoss() > OrderOpenPrice()) 
            {                 
               if ( 
OrderOpenPrice()+ Ask>Point*BreakEven 
               {
               
double BuyStop OrderOpenPrice();
               if(
OrderStopLoss() > BuyStop)
               
OrderModify(OrderTicket(),OrderOpenPrice(),
                             
NormalizeDouble(BuyStop,3),
                             
OrderTakeProfit(),0,clrRed);     
                             
                            Print(
"163 immer irgendwas unterschiedliches");     
                   
              
               }    
            }  
            
//Trailing stop
            
if(UseTrailingStop && TrailingStop 0
            {                 
               if(
Ask OrderOpenPrice() > Point TrailingStop
               {
                  if(
OrderStopLoss() < Ask Point TrailingStop
                  {
                     
OrderModify(OrderTicket(), OrderOpenPrice(), Ask Point TrailingStopOrderTakeProfit(), 0clrMediumSeaGreen);
                        Print(
"179 immer irgendwas unterschiedliches");                  
                  }
               }
            }   
                         
          }
        } 
So wie ich dich verstehe, meinst du die Abfragen über BuyStop/SellStop u. OrderOpenPrice sollte ich weglassen? Wie müsste das dann genau lauten?

Bei Short:

PHP-Code:
  //SL Short Deals Setzen
       
for(int bOrdersTotal()-1b>=0b--)
        {
        
//Wir wählen eine Order aus
       
if (OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
       
//Symbol Order mit Chart prüfen
       
if(OrderSymbol() == Symbol())
         
//Wir pruefen ob es sich um eine Kauf Order handelt
         
if(OrderType() == OP_SELL)
          {
            if(
OrderCloseTime()==&& OrderStopLoss()==0)
               {
                  
double StopLossNormalizeDouble(OrderOpenPrice()+ (SL_Point_Point),Digits);
                  
bool OrderAngepasst OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,clrYellow);

               }
               
               
            
//Breakeven
                  
if(BreakEven && OrderStopLoss() < OrderOpenPrice()) 
               {                 
                  if (
Bid OrderOpenPrice() - BreakEven_Point
                  {
                  
double SellStop OrderOpenPrice();
                  if(
OrderStopLoss() > SellStop)
                  
OrderModify(OrderTicket(),OrderOpenPrice()-6*_Point,
                              
NormalizeDouble(SellStop,3),                               
                                
OrderTakeProfit(),0,clrRed);        
                 Print(
"214 immer irgendwas unterschiedliches");  
                  }
               }  
             
               
//Trailing stop
               
if(UseTrailingStop && TrailingStop 0
                  {                 
                  if((
OrderOpenPrice() - Bid) > (Point TrailingStop)) 
                     {
                     if((
OrderStopLoss() > (Bid Point TrailingStop)) || (OrderStopLoss() == 0)) 
                        {
                        
OrderModify(OrderTicket(), OrderOpenPrice(), Bid Point TrailingStopOrderTakeProfit(), 0clrDarkOrange);
                        Print(
"228 immer irgendwas unterschiedliches");                          
                        }
                     }
                  } 
           }            
         } 
Ohje..ich war vermutlich sparsam mit den Parametern
Ich habe das mal Korriegiert hoffe das passt so.

Danke dir für den Tipp mit Print. Hab den Journal mal angeheftet. Leider konnte ich die Fehler nicht rausbekommen... hoffe du kannst mir da weiterhelfen

Danke vorab und schönes Wochenende noch.
Angehängte Dateien
Dateityp: log 20211017.log (29,6 KB, 3x aufgerufen)