okex 加密貨幣自動化交易 Python量化 通過api交易的方法(五)
阿新 • • 發佈:2019-01-31
本期實現一個自動化交易的demo,之前一直應用的都是get方法,涉及到交易的就需要post方法傳參
以下是我個人vps上一直在跑的一個程式,作用是幫助我止盈,因為在交易中及時止損還是偶爾能做到,但是因為沒有及時止盈把利潤損失了是我個人很難以接受的。於是寫了該程式持續幫我監測倉位盈利情況,一旦利潤到達33%就掛單賣出。
裡面被xxxx代替的就是我的交易的祕鑰,各位從okex申請到後一定要妥善保管,這個交易用的key除了提幣什麼許可權都有,包括劃轉到不同錢包,去購買某空氣幣等。
我們看官方的api,我們呼叫的是
POST /api/v1/future_position_4fix 逐倉使用者持倉查詢
請求引數和返回值如下
我們只用到了盈虧比
下面程式碼就是每分鐘執行一次,檢視是否持有多倉或者空倉,然後再判斷盈虧比是否達到33%,達到的話就下單執行賣出止盈
# coding: utf-8
from client import OkexClient, OkexTradeClient
authClient = OkexTradeClient("xxxxxxxxxxxxxx", "xxxxxxxxxxxx")
symbol = "eos_usd"
res = authClient.status_position_4fix(symbol, "this_week")['holding']
print res
if len(res):
if res[0]['buy_available']:
print res[0]['buy_available']
if float(res[0]['buy_profit_lossratio']) >= 33:
print res[0]['buy_profit_lossratio']
authClient.place_order(symbol, "this_week", '1', str(res[0]['buy_available']), '3', '1', '20')
if res[0 ]['sell_available']:
if float(res[0]['sell_profit_lossratio']) >= 33:
authClient.place_order(symbol, "this_week", '1', str(res[0]['sell_available']), '4', '1', '20')