async def fetch_orders(self, symbol=None, since=None, limit=None, params={}):
    if ((not ('userid' in params)) and (self.apiKey is None)):
        raise ArgumentsRequired('fetchOrders() requires self.apiKey or userid argument')
    (await self.load_markets())
    market = None
    request = {'userid': self.apiKey}
    if (symbol is not None):
        market = self.market(symbol)
        request['symbol'] = market['id']
    if (limit is not None):
        request['limit'] = limit
    if (since is not None):
        request['since'] = since
    response = (await self.publicGetOrdersAll(self.extend(request, params)))
    return self.parse_orders(response, market, since, limit)
async def fetch_orders(self, symbol=None, since=None, limit=None, params={}):
    if ((not ('userid' in params)) and (self.apiKey is None)):
        raise ArgumentsRequired('fetchOrders() requires self.apiKey or userid argument')
    (await self.load_markets())
    market = None
    request = {'userid': self.apiKey}
    if (symbol is not None):
        market = self.market(symbol)
        request['symbol'] = market['id']
    if (limit is not None):
        request['limit'] = limit
    if (since is not None):
        request['since'] = since
    response = (await self.publicGetOrdersAll(self.extend(request, params)))
    return self.parse_orders(response, market, since, limit)