清除亏损

楼主  收藏   举报   帖子创建时间:  2019-05-05 15:01 回复:0 关注量:341
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);
}

打赏