所以我一直recieveing此消息試圖交易場所使用時ccxt:杜撰改寫
「時間戳此請求是無效的。」
我讀過的ccxt手冊和它說覆蓋現時我應該使用:
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
這裏是我得到的錯誤:
回溯(最近通話最後): 文件 「C:\用戶\斯科特\應用程序數據\本地\程序\的Python \ Python35 \ lib中\站點包\ ccxt \ exchange.py」,線209,在獲取響應 = opener.open(請求,超時= int(self.timeout/1000)) 文件 「C:\用戶\斯科特\應用程序數據\本地\程序\的Python \ Python35 \ lib中\的urllib \ request.py」,線路471,在開放 響應=甲基(REQ,響應) 文件「C:\用戶\斯科特\應用程序數據\本地\程序\的Python \ Python35 \ lib中\的urllib \ request.py 「線路581,在HTTP_RESPONSE 'HTTP',請求,響應代碼,味精,HDRS) 文件」 C:\用戶\斯科特\應用程序數據\本地\程序\ Python的\ Python35 \ LIB \的urllib \ request.py 「線路509錯誤 回報self._call_chain(*參數) 文件」 C:\用戶\斯科特\應用程序數據\本地\程序\蟒\ Python35 \ lib中\的urllib \ request.py 「線路443,在_call_chain 結果= FUNC(*參數) 文件」 C:\用戶\斯科特\應用程序數據\本地\程序\蟒\ Python35 \ lib中\的urllib \ request.py「,第589行,在http_error_default中 raise HTTPError(req.full_url,code,ms克,HDRS,FP) urllib.error.HTTPError:HTTP錯誤400:錯誤的請求
在處理上述異常,另一個異常:
回溯(最近通話最後一個): 文件 「」 ,第1行 MomentumTrader('ETH','BTC') 文件「C:/Users/Scott/Desktop/MomentumTraderFifth.py」,行199,在MomentumTrader BuyAll(currencypair) 文件「C:/ Users /Scott/Desktop/MomentumTraderFifth.py「,第89行,BuyAll binance.createLimitBuyOrder(symbol,amount,orderbook ['ask'] [orderBookPosition] [0]) 文件」C:\ Users \ Scott \ A ppData \本地\程序\ Python的\ Python35 \ LIB \站點包\ ccxt \ exchange.py 「線路646,在createLimitBuyOrder 回報self.create_limit_buy_order(行情,量,價,則params) 文件」 C:\用戶\斯科特\應用程序數據\本地\程序\ Python的\ Python35 \ LIB \站點包\ ccxt \ exchange.py」,線路634,在create_limit_buy_order 回報self.create_order(行情, '限價', '買入',數量,價格, PARAMS) 文件 「C:\用戶\斯科特\應用程序數據\本地\程序\的Python \ Python35 \ lib中\站點包\ ccxt \ exchanges.py」,線路986,在create_order 響應= self.privatePostOrder(self.extend (順序,則params)) 文件 「C:\用戶\斯科特\應用程序數據\本地\程序\的Python \ Python35 \ lib中\站點包\ ccxt \ exchanges.py」,線1049,在請求響應 = self.fetch (網址,方法,標題,正文) File「 C:\ Users \用戶斯科特\應用程序數據\本地\程序\ Python的\ Python35 \ LIB \站點包\ ccxt \交流。py「,244行,提取 self.raise_error(error,url,method,e,details) 文件」C:\ Users \ Scott \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ ccxt \ exchange.py「,第181行,在raise_error中 詳細信息, ccxt.errors.ExchangeNotAvailable:binance POST https://www.binance.com/api/v1/order 400錯誤請求(可能的原因:無效的API密鑰,錯誤或舊的現時,交換已關閉或脫機,正在維護,DDoS保護,限速,{「代碼」: - 1021,「味精」:「時間戳這一請求是無效」})
但鑰匙是全新的。我多久需要製作一套新的鑰匙?我能夠訪問我的餘額,但是當我收到消息時進行交易。 – Scott
你能顯示你的代碼嗎? https://github.com/kroitor/ccxt/blob/master/CONTRIBUTING.md#how-to-submit-an-issue - 你的語言版本,ccxt庫版本 - 你要哪一種方法特別呼叫 - 您遇到困難的完整代碼片段(避免單行) - 將該片段的完整堆棧跟蹤(錯誤輸出)以詳細方式粘貼,原樣不變 我們需要如果您希望我們幫助更快。 –
嗨伊戈爾,所以我已經上傳了我使用的代碼以及伴隨它的錯誤信息。它的工作有些怪異,有時會給我那個時間戳BS。 – Scott