Einzelnen Beitrag anzeigen
  #7 (permalink)  
Alt 05.01.12
naranjoe naranjoe ist offline
Elite Mitglied
 
Registriert seit: Jun 2010
Ort: Trier
Beiträge: 116
naranjoe befindet sich auf einem aufstrebenden Ast
Standard Trailing Stop

Eröffne deine Order mit TrailingStop Pips als Stop Loss (also z.B. 20).
Das SL wird dann immer mit dem Abstand von 20 Pips der Order nachgezogen oder halt eben ausgelöst (wenn der Kurs dreht). Dafür solltest du auch ein Take Profit wählen das etwas größer ist z.B. 50.
Aufruf von void UpdateTS erfolgt wie beim void UpdateBE.

Code:
void UpdateTS()
{
  for(int i = OrdersTotal() - 1; i >= 0; i--)
	{
	 if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
  	   {
  	    if(OrderType() == OP_BUY && NormalizeDouble(Bid - OrderStopLoss(), Digits) > NormalizeDouble(TrailingStop * Point, Digits))
  	      {
  	       OrderModify(OrderTicket(), OrderOpenPrice(), Bid - TrailingStop * Point, OrderTakeProfit(), 0);
  	       }
  	     if(OrderType() == OP_SELL && NormalizeDouble(OrderStopLoss() - Ask, Digits) > NormalizeDouble(TrailingStop * Point, Digits))
  		{
  		 OrderModify(OrderTicket(), OrderOpenPrice(), Ask + TrailingStop * Point, OrderTakeProfit(), 0);
  		 }
  	     }
	 }
}
Das hier stellt nur ein Grundgerüst dar, um die Funktionsweise zu erläutern. Du solltest den Code aber noch erweitern. z.B.müsste der EA auch feststellen ob die ausgewählte Order auch die Richtige ist, Stichwort Symbol() oder MagicNumber.
Aber das überlasse ich mal dir

Gruß
naranjoe