python中的Nonce覆盖
因此,我在尝试使用ccxt进行交易时不断收到以下消息: “此请求的时间戳无效。” 我已经阅读了ccxt手册,它说要覆盖我应该使用的nonce:python中的Nonce覆盖,python,bitcoin,trading,nonce,ccxt,Python,Bitcoin,Trading,Nonce,Ccxt,因此,我在尝试使用ccxt进行交易时不断收到以下消息: “此请求的时间戳无效。” 我已经阅读了ccxt手册,它说要覆盖我应该使用的nonce: class MyBitfinex (ccxt.bitfinex): def nonce (self): return self.milliseconds () 但我只是不知道如何让它工作。我不是太高级的python程序员 非常感谢您的帮助 以下是我试图运行的代码: def BuyAll (symbol): base = mar
class MyBitfinex (ccxt.bitfinex):
def nonce (self):
return self.milliseconds ()
但我只是不知道如何让它工作。我不是太高级的python程序员
非常感谢您的帮助
以下是我试图运行的代码:
def BuyAll (symbol):
base = markets[symbol]['base']
quote = markets[symbol]['quote']
Balances = binance.fetchBalance()
quoteBalance = Balances[quote]['free']
stopOut = 0
orderBookPosition = 0
while quoteBalance > stopOut:
print('quote balance',quoteBalance)
runningBalance = quoteBalance - stopOut
orderbook = binance.fetchOrderBook(symbol)
if (orderbook['asks'][orderBookPosition][1])*(orderbook['asks'][orderBookPosition][0])< runningBalance:
if base == 'BNB':
quantity = truncate(orderbook['asks'][orderBookPosition][1],0)
else:
quantity = truncate(orderbook['asks'][orderBookPosition][1],3)
print('quantity',quantity)
binance.createLimitBuyOrder(symbol,quantity,orderbook['asks'][orderBookPosition][0])
print('Bought' + ' ' + symbol)
stopOut += (orderbook['asks'][orderBookPosition][1])*(orderbook['asks'][orderBookPosition][0])
elif (runningBalance)/(orderbook['asks'][orderBookPosition][0]) > 0:
if base == 'BNB':
amount = int((runningBalance)/(orderbook['asks'][orderBookPosition][0]))
else:
amount = truncate((runningBalance)/(orderbook['asks'][orderBookPosition][0]),3)
print('amount',amount)
binance.createLimitBuyOrder(symbol,amount,orderbook['asks'][orderBookPosition][0])
print('Bought' + ' ' + symbol)
stopOut += (orderbook['asks'][orderBookPosition][1])*(orderbook['asks'][orderBookPosition][0])
orderBookPosition += 1
def BuyAll(符号):
基数=市场[符号]['base']
quote=市场[符号]['quote']
Balances=binance.fetchBalance()
quoteBalance=余额[报价][“自由”]
停止=0
orderBookPosition=0
quoteBalance>stopOut时:
打印(“报价余额”,报价平衡)
运行平衡=报价平衡-停止
orderbook=binance.fetchOrderBook(符号)
如果(orderbook['asks'][orderBookPosition][1])*(orderbook['asks'][orderBookPosition][0])0:
如果base==“BNB”:
金额=整数((运行余额)/(订单簿['asks'][orderBookPosition][0]))
其他:
金额=截断((runningBalance)/(订单簿['asks'][orderBookPosition][0]),3)
打印('金额',金额)
binance.createLimitBuyOrder(符号、金额、orderbook['asks'][orderBookPosition][0])
打印('购买'+''+符号)
stopOut+=(订单簿['asks'][orderBookPosition][1])*(订单簿['asks'][orderBookPosition][0])
orderBookPosition+=1
以下是我得到的错误:
回溯(最近一次调用上次):文件
“C:\Users\Scott\AppData\Local\Programs\Python35\lib\site packages\ccxt\exchange.py”,
第209行,在fetch中
response=opener.open(请求,timeout=int(self.timeout/1000))文件
“C:\Users\Scott\AppData\Local\Programs\Python\Python35\lib\urllib\request.py”,
第471行,打开
response=meth(req,response)文件“C:\Users\Scott\AppData\Local\Programs\Python\Python35\lib\urllib\request.py”,
第581行,在http_响应中
“http”、请求、响应、代码、消息、hdrs)文件“C:\Users\Scott\AppData\Local\Programs\Python\Python35\lib\urllib\request.py”,
第509行,错误
返回self.\u call\u chain(*args)文件“C:\Users\Scott\AppData\Local\Programs\Python\Python35\lib\urllib\request.py”,
第443行,呼叫链中
result=func(*args)文件“C:\Users\Scott\AppData\Local\Programs\Python\Python35\lib\urllib\request.py”,
第589行,在http\u错误\u默认值中
引发HTTPError(req.full_url,code,msg,hdrs,fp)urllib.error.HTTPError:HTTP错误400:错误请求
在处理上述异常期间,发生了另一个异常:
回溯(最近一次调用):文件“”,第1行,在
MomentumTrader('ETH','BTC')文件“C:/Users/Scott/Desktop/MomentumTraderFifth.py”,第199行,在
动量交易者
BuyAll(currencyPair)文件“C:/Users/Scott/Desktop/MomentumTraderFifth.py”,第89行,在BuyAll中
binance.createLimitBuyOrder(符号、金额、orderbook['asks'][orderBookPosition][0])
文件
“C:\Users\Scott\AppData\Local\Programs\Python35\lib\site packages\ccxt\exchange.py”,
第646行,按顺序排列
返回self.create_limit_buy_order(市场、金额、价格、参数)文件
“C:\Users\Scott\AppData\Local\Programs\Python35\lib\site packages\ccxt\exchange.py”,
第634行,创建限额购买订单
返回self.create_订单(市场、限制、购买、金额、价格、参数)文件
“C:\Users\Scott\AppData\Local\Programs\Python35\lib\site packages\ccxt\exchanges.py”,
第986行,按创建顺序
response=self.privatepostore(self.extend(order,params))文件
“C:\Users\Scott\AppData\Local\Programs\Python35\lib\site packages\ccxt\exchanges.py”,
第1049行,请求中
response=self.fetch(url、方法、标题、正文)文件“C:\Users\Scott\AppData\Local\Programs\Python\Python35\lib\site packages\ccxt\exchange.py”,
第244行,在fetch中
self.raise\u错误(错误、url、方法、e、详细信息)文件“C:\Users\Scott\AppData\Local\Programs\Python\Python35\lib\site packages\ccxt\exchange.py”,
第181行,在raise_错误中
详细信息,ccxt.errors.ExchangeNotAvailable:binance POST 400错误请求(可能)
原因:无效的API密钥、错误或旧的nonce、exchange已关闭或
离线、在线维护、DDoS保护、速率限制、,
{“code”:-1021,“msg”:“此请求的时间戳无效。”})
请仔细阅读ccxt库手册中的章节。这是由于密钥过期造成的。你用另一把钥匙试过了吗
此外,对于Bitfinex,不需要将nonce设置为毫秒,默认情况下它已经是以毫秒为单位的。尝试此示例,看看它是否适合您:
import ccxt
bitfinex = ccxt.bitfinex ({
'apiKey': '4FlEDtxDl35gdEiobnfZ72vJeZteE4Bb7JdvqzjIjHq',
'secret': 'D4DXM8DZdHuAq9YptUsb42aWT1XBnGlIJgLi8a7tzFH',
})
print(bitfinex.fetch_balance())
如果它真的起作用,那么你应该创建一个新的密钥对,从那以后一切都应该正常。别担心,如果您创建了一个新的密钥对,您不会在您的帐户上损失资金。但是密钥是全新的。我需要多长时间制作一套新钥匙?我可以访问我的余额,但当涉及到交易时,我会收到消息。你能显示你的代码吗?-您的语言版本,ccxt库版本-您正在尝试调用的方法-您遇到困难的完整代码段(避免使用一行程序)-按原样以详细模式粘贴该代码段的完整堆栈跟踪(错误输出),未更改,如果您希望我们帮助您更快,我们需要它。您好,Igor,因此,我上传了我使用的代码以及acco