老周 发表于 2016-10-31 17:18:19

清除亏损

extern int ProfitTarget = 1; // Profit target in dollars

int start()
{
int total = OrdersTotal();
for(int i=total-1;i>=0;i--)
{
    OrderSelect(i, SELECT_BY_POS);
    int type= OrderType();

    bool result = false;

    switch(type)
    {
      //Close opened long positions
      case OP_BUY      : if ( OrderProfit() <= ProfitTarget) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
                        break;

      //Close opened short positions
      case OP_SELL      : if ( OrderProfit() <= ProfitTarget) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );

    }

    if(result == false)
    {
      Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
      Sleep(3000);
    }
}

return(0);
}

页: [1]
查看完整版本: 清除亏损