docs: @Override
    public UserTrades getTradeHistory(TradeHistoryParams params) throws IOException {
      Integer pageLength = null, pageNumber = null;
      if (params instanceof TradeHistoryParamPaging) {
        TradeHistoryParamPaging paging = (TradeHistoryParamPaging) params;
        pageLength = paging.getPageLength();
        pageNumber = paging.getPageNumber();
      }
      if (pageNumber == null) {
        pageNumber = 1; // pages start from 1
      }
      if (pageLength == null) {
        pageLength = 200; // 200 is the maximum number
      }
  
      CurrencyPair pair = null;
      if (params instanceof TradeHistoryParamCurrencyPair) {
        pair = ((TradeHistoryParamCurrencyPair) params).getCurrencyPair();
      }
      if (pair == null) {
        pair = useIntl ? CurrencyPair.BTC_USD : CurrencyPair.BTC_CNY;
      }
  
      OkCoinOrderResult orderHistory =
          getOrderHistory(
              OkCoinAdapters.adaptSymbol(pair),
              ORDER_STATUS_FILLED,
              pageNumber.toString(),
              pageLength.toString());
      return OkCoinAdapters.adaptTrades(orderHistory);
    }