Thread: Protect Profit
View Single Post
  #2 (permalink)  
Old 11-26-2006, 04:30 AM
Craig Craig is offline
Senior Member
 
Join Date: Feb 2006
Location: New Zealand
Posts: 249
Craig is on a distinguished road
/////////////////////////////////////////////////////////////////////////////////////////////
// Trailing stop losses
void TrailOrders(int trailing_stop, int magic_number)
{
//Iterate orders
int num_orders = OrdersTotal();
for(int trade = 0; trade < num_orders; trade++)
{
//Select an order
if (!OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
{
continue;
}
if (OrderMagicNumber() != magic_number)
{
continue;
}
if (OrderType()==OP_BUY)
{
if (Bid-OrderOpenPrice() > Point*trailing_stop)
{
if (OrderStopLoss() < Bid-Point*trailing_stop)
{
if (!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*trailing_stop,OrderTakeProfit(),0,Green))
{
Print("TrailOrders, OrderModify failed. Err#:", ErrorDescription(GetLastError()));
}
}
}
}
if (OrderType()==OP_SELL)
{
if (OrderOpenPrice()-Ask > Point*trailing_stop)
{
if (OrderStopLoss() > Ask+Point*trailing_stop)
{
if (!OrderModify(OrderTicket(),OrderOpenPrice(),Ask+P oint*trailing_stop,OrderTakeProfit(),0,Red))
{
Print("TrailOrders, OrderModify failed. Err#:", ErrorDescription(GetLastError()));
}
}
}
}
}
}
Reply With Quote