簡體   English   中英

為什么我需要為 Coinbase Pro API 添加額外的時間才能與 Python cbpro 庫成功交易?

[英]Why do I need to add extra time for Coinbase Pro API to get a succesful transaction with Python cbpro library?

我正在使用@Dan Paquin GitHub 存儲庫上發布的 Python 庫: https://github.com/danpaquin/coinbasepro-python該庫寫得很好而且很有用。 但是,我注意到如果我想在 for 循環中下訂單,我需要添加 time.sleep(1.0) 這似乎太多了。 否則,當我嘗試使用以下命令檢查訂單狀態時出現錯誤:

status = self.cb_pro_client.get_order(self.OrderID)

此錯誤僅在生產中發生,使用沙盒版本我無法重現該錯誤。 該錯誤基本上抱怨沒有從 .get_order 方法中得到任何東西。

我對圖書館的細節了解不多,但我讀到每個 IP 每秒只能發出 10 個請求,而我發出的請求遠遠少於這些請求。 有什么建議么?

我正在使用coinbase pro,

謝謝

你沒有告訴你得到了什么錯誤,但我懷疑它是 404? 我正在使用 Node.js 實現,我遇到了同樣的問題。

這不是 python 或節點實現的問題,因為它們只是get交換 api 端點https://api.exchange.coinbase.com/orders/{order_id}

如果您有興趣,Coinbase 可以獲取訂單文檔

有時可以立即獲得詳細信息,有時則不能。 我已經嘗試限制 10 秒,但有時仍然會出現錯誤。 我的解決方案是將訂單詳細信息放在 while/try 循環中。 到目前為止,我看到它失敗的次數最多的是連續 3 次。

節點偽代碼:

buyResult = <place buy order>;
let done = false;
while(!done){
    try{
        orderDetails = <get order details>; 
        done = true; 
    }catch(e){
        <output: e.message + " ...waiting 3 seconds">
        <sleep for 3 seconds before trying again>
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM