okex 加密货币自动化交易 Python量化 通过api交易的方法(五)

本期实现一个自动化交易的demo,之前一直应用的都是get方法,涉及到交易的就需要post方法传参

以下是我个人vps上一直在跑的一个程序,作用是帮助我止盈,因为在交易中及时止损还是偶尔能做到,但是因为没有及时止盈把利润损失了是我个人很难以接受的。于是写了该程序持续帮我监测仓位盈利情况,一旦利润到达33%就挂单卖出。
里面被xxxx代替的就是我的交易的秘钥,各位从okex申请到后一定要妥善保管,这个交易用的key除了提币什么权限都有,包括划转到不同钱包,去购买某空气币等。
我们看官方的api,我们调用的是
POST /api/v1/future_position_4fix 逐仓用户持仓查询
请求参数和返回值如下
okex 加密货币自动化交易 Python量化 通过api交易的方法(五)_第1张图片
我们只用到了盈亏比
下面代码就是每分钟执行一次,查看是否持有多仓或者空仓,然后再判断盈亏比是否达到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')

你可能感兴趣的:(自动化)