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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_18497785/article/details/81624739

最简单的例子

监听实时价格

从上一节我们可以看到已经实现了打印实时行情的函数,那这个时候我们就可以实现最简单的一个自动化功能,监听实时价格。

# coding: utf-8
import time
from client import OkexClient
client = OkexClient(None, None)
symbol = 'eos_usd'
res = client.ticker(symbol,'this_week')
print res['ticker']['sell']

print那个函数打印的就是实时价格,这个时候你加个if的判断条件就相当于监听价格啦。

怎么托管程序在后台自己跑

crontab

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。

用法很简单,以上述那个程序为例,我们对他做一些改造

打印行情到文件

# coding: utf-8
import time
from client import OkexClient

client = OkexClient(None, None)

symbol = 'eos_usd'
res = client.ticker(symbol,'this_week')
print res['ticker']['sell']
#打印到eos_ticker.txt中
f = open("/root/okex/AutoTtade/client/eos_ticker.txt", "a")
f.write(str(res)+'\n')
f.close()

加了三行写文件的代码,现在就可以把行情情况输入到文件中去。

然后

crontab -e

开始将脚本设为每分钟都触发一次

* * * * * /usr/bin/python /root/okex/AutoTtade/client/basic.py

等几分钟在打开eos_ticker.txt就能看到结果了

{u'date': u'1534126442', u'ticker': {u'sell': 4.952, u'day_low': 0, u'buy': 4.951, u'last': 4.951, u'contract_id': 201808170200054, u'vol': 15979134.0, u'high': 5.097, u'low': 4.843, u'unit_amount': 10, u'coin_vol': 0, u'day_high': 0}}
{u'date': u'1534126501', u'ticker': {u'sell': 4.952, u'day_low': 0, u'buy': 4.95, u'last': 4.95, u'contract_id': 201808170200054, u'vol': 15963752.0, u'high': 5.097, u'low': 4.843, u'unit_amount': 10, u'coin_vol': 0, u'day_high': 0}}
{u'date': u'1534126561', u'ticker': {u'sell': 4.954, u'day_low': 0, u'buy': 4.95, u'last': 4.952, u'contract_id': 201808170200054, u'vol': 15927724.0, u'high': 5.097, u'low': 4.843, u'unit_amount': 10, u'coin_vol': 0, u'day_high': 0}}
{u'date': u'1534126622', u'ticker': {u'sell': 4.953, u'day_low': 0, u'buy': 4.95, u'last': 4.951, u'contract_id': 201808170200054, u'vol': 15921630.0, u'high': 5.097, u'low': 4.843, u'unit_amount': 10, u'coin_vol': 0, u'day_high': 0}}
{u'date': u'1534126682', u'ticker': {u'sell': 4.952, u'day_low': 0, u'buy': 4.95, u'last': 4.952, u'contract_id': 201808170200054, u'vol': 15904372.0, u'high': 5.097, u'low': 4.843, u'unit_amount': 10, u'coin_vol': 0, u'day_high': 0}}
{u'date': u'1534126742', u'ticker': {u'sell': 4.951, u'day_low': 0, u'buy': 4.95, u'last': 4.951, u'contract_id': 201808170200054, u'vol': 15903700.0, u'high': 5.097, u'low': 4.843, u'unit_amount': 10, u'coin_vol': 0, u'day_high': 0}}

这就是最简单的方法,我们写入文件也不是一个太常用的方式,建议将行情直接写入数据库,后续分析也可以通过SQL来搞,不需要再写代码进行处理了。

没有更多推荐了,返回首页