Einzelnen Beitrag anzeigen
  #5 (permalink)  
Alt 15.02.18
Ceo Ceo ist offline
Mitglied
 
Registriert seit: Jan 2018
Beiträge: 47
Ceo befindet sich auf einem aufstrebenden Ast
Standard

Gut dann Versuchen wir es mal besser zu machen. Nochmal kurz die Beschreibung: Wenn ein Signal da ist soll der Expert Advisor ein Long Trade eingehen und gleichzeitig einen Short Trade. Es gibt nur die beiden Trades kein weiteren bis diese nicht geschlossen sind. So jetzt zu meinem Problem: Ich möchte wenn Long geschlossen wird(egal aus welchen Grund ob TP/SL oder mein Gewinn erreicht wurde). Das sich der Short Order dann auch schließt, sollte es natürlich nicht gehen aus welchem Grund auch immer soll ein SL so nah wie möglich gesetzt werden um denn Verlust klein zuhalten. Der Code:


Code:
//---------------------------------------------------------------------------------------------   
//Kauf Signal 
  ST1 = OrderSelect(LongTicket,SELECT_BY_TICKET);
    if(OrderCloseTime() != 0 || LongTicket == 0)
      {  
    if((Open[1] > mt1) && (Open[0] > mt) && (A4B < Low[1]) && (AlG < Low[1]) && (Open[2] < Close[2]) && (Open[1] < Close[1]))
      {
                        
       LongTicket = OrderSend(TradeOne,OP_BUY,LotSize,Ask,0,0,0,"Buy Order Signal",MagicNumber,0,Green);
				
		 LT1 =	OrderSelect(LongTicket,SELECT_BY_TICKET); 
				   double OpenPrice = OrderOpenPrice();
				
            
             
        if(StopLoss > 0)  LongStopLoss = OpenPrice - (StopLoss * RealPoint);
        if(TakeProfit > 0)  LongTakeProfit = OpenPrice + (TakeProfit * RealPoint);
            
            
      	if(LongStopLoss > 0 || LongTakeProfit > 0) 
				{
               bool LongMod = OrderModify(LongTicket,OpenPrice,LongStopLoss, LongTakeProfit,0);
				}
               
    Comment("Kauf Signal");   
            OD = 0;
           } 
      else
           {
         OD = 1;
           }
   }
//----------------------------------------------------------------------------------------------   
//Verkauf Signal 
   ST2 = OrderSelect(ShortTicket,SELECT_BY_TICKET);
	if(OrderCloseTime() != 0 || ShortTicket == 0)
      {
      if((LongTicket > 0)&&(OrderType()==OP_BUY))
         {
            ShortTicket = OrderSend(TradeTwo,OP_SELL,LotSize,Bid,0,0,0,"Sell Order gegen Trade",MagicNumber,0,Red);
				
	  LT2 =	OrderSelect(ShortTicket,SELECT_BY_TICKET); 
				double OpenPrice = OrderOpenPrice();
				
            
            
            if(StopLoss > 0)  ShortStopLoss = OpenPrice + (StopLoss * RealPoint);
            if(TakeProfit > 0)  ShortTakeProfit = OpenPrice - (TakeProfit * RealPoint);
            
				if(ShortStopLoss > 0 || ShortTakeProfit > 0) 
				{
               bool ShortModOther = OrderModify(ShortTicket,OpenPrice,ShortStopLoss, ShortTakeProfit,0);
				}
   
   
   
          }
      }  
   if(OD==1)
      {
         Comment("Kein Kauf Signal");
      }
//-----------------------------------------------------------------------------------------------------------
// Trade "Verkauf" Schließen
       if((LongTicket==0))
			{
  ST3 =  OrderSelect(ShortTicket,SELECT_BY_TICKET);
			if(OrderCloseTime() == 0 && ShortTicket > 0)
			{
          int Closed = OrderClose(ShortTicket,OrderLots(),Ask,0,Red);
			}		
		   }
		}