Einzelnen Beitrag anzeigen
  #5 (permalink)  
Alt 24.08.14
dieter23 dieter23 ist offline
Mitglied
 
Registriert seit: Sep 2013
Beiträge: 31
dieter23 befindet sich auf einem aufstrebenden Ast
Standard

habe diese Routine versucht einzubauen. Leider funktioniert der Trailing Stop nicht. Keine Ahnung wo der Fehler liegt.


double PointValue;
for (int i = 0; i < OrdersTotal(); i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
PointValue = MarketInfo(OrderSymbol(), MODE_POINT);

double TSTP = TrailingStop * PointValue;
if (OrderType() == OP_BUY)
{ if ((Bid - OrderOpenPrice()) > TSTP)
{ if (OrderStopLoss() < (Bid - TSTP))
{
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - TSTP, OrderTakeProfit(), Red);
}}}

else if (OrderType() == OP_SELL)
{ if ((OrderOpenPrice() - Ask) > TrailingStop * PointValue)
{ if ((OrderStopLoss() > (Ask + TrailingStop * PointValue)) || (OrderStopLoss() == 0))
{
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + TSTP, OrderTakeProfit(), Red);
}}}}