BTC-e API流程
我正在通過API送出Sell交易,返回的orderid為0。看來交易成功了,調整後的資金通過響應返回。所以看起來交易是立即發生的。
我最初擔心訂單需要一段時間並且必須檢查以了解訂單何時完成。我正計劃設置一個計時器來查看我的交易歷史,以便為我送出的交易尋找匹配的 orderid。
所以三個問題:
- 當交易呼叫被返回時,訂單是否總是完成,所以我可以跳過檢查訂單和
2)如果它確實返回一個非零的 OrderID,這是否意味著訂單不完整,我需要進行定時檢查?
最後,這些答案是否同樣適用於買入訂單?
謝謝您的幫助。我非常了解 API,但不了解底層交換功能的方式。
我想我已經能夠回答我自己的問題了。我所做的是使用 API 下訂單,但我知道通過將價格設置得非常低/高不會成功。
因為訂單沒有立即處理,所以它向我返回了一個非零的 OrderID。
使用 API 我檢查了我的訂單列表,訂單顯示在那裡。所以基本上,如果訂單返回一個非零的 OrderID,只要訂單仍然出現在 OrderList 中,它就會一直打開。
不,當您的交易請求被退回時,訂單不一定完整。嘗試發布一個在書中非常遙遠的限價單。你猜對了……只有當它返回零時,訂單才會立即完成。如果它需要更長的時間才能完成,它將被填充而不會返回 0,在這種情況下,您需要檢查您的交易或您的活動訂單,以便知道它何時被填充。其中之一與監控您的餘額相結合應該可以解決問題。所以喬恩史蒂文斯是錯誤的順便說一句,因為將您的餘額資訊與您的活動訂單結合使用可以很容易確定。
是的。
是的,購買也是如此。
需要注意的一件事是,假設您想在其他交易所實施類似的檢查,您必須小心在未結訂單和正常餘額之間分配餘額的慣例。例如,像 campbx 這樣的交易所會區分你的流動比特幣和你的總比特幣,因此你可以很容易地看到有多少被捆綁在訂單中。但是,在 btce 上你只有一個指標,所以當你的 btc 突然下跌時,你知道這是因為你輸入了一個訂單。如果你使用餘額作為交易的標誌,你必須小心不要將取消的賣單誤認為買單,因為兩者都會導致你的 btc 突然跳起來。為了做出這種區分,這將有助於同時監控您的 btc 的變化和您的美元(或您購買的任何貨幣)的變化。兩者同時變化即為交易,只有一個變化即為btc充值或註銷。你需要更多的標誌來區分後兩者。
總的來說,我發現即使您認為沒有必要,您也應該找到一種方法來使用來自 API 的外生資訊來確認您觸發或期望的每個操作。與 api 的每次不同互動在數據中都有一個唯一的簽名(您只需要查明它,有時在 BTC-E 等 API 上的數據有限),因此最佳實踐是在您觸發或預期任何操作之後,確保在您繼續之前,它會通過一些獨特的簽名得到確認。它將使調試變得更加容易,因為它可以確保您的程序狀態確實是您認為的那樣。
希望有幫助。