使用 Python 和 TA-Lib 进行自动化交易

获取 API KEY 和可用的 SDK 包

本文的案例使用了 Okex V5 API,参考前请阅读文章开头的警告。Okex 官网的 API 文档(目前只有 V5):https://www.okex.com/docs-v5/zh/

由于官网没有为 V5 API 提供 SDK 包,所以本文用到了以下的第三方 SDK 包: https://github.com/jane-cloud/Open-API-SDK-V5

获取账户信息

一些初始化的信息,注意一定要保存好 APIKey 和 SecretKey 和 passphrase ,不要在公开场合(公开的文章、代码仓库等)出现。

一些常用的信息,如“持仓数量”、“未实现收益”、“持仓方向”、“可用保证金”等。

获取基本行情数据

这里获取单个标的的行情数据,下方代码中获取的是1分钟的 k 线信息,并根据实际需要提取相应的数据。

使用 TA-Lib 计算指标

在 Ubuntu 中安装 TA-Lib 请参考这篇文章: UBUNTU 服务器安装 TALIB 并定时执行 PYTHON 量化小脚本

在 Windows 中安装 TA-Lib ,请访问 https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib ,并根据自己的 Python 版本选择下载。

例如,在上述网站下载了 TA_Lib‑0.4.21‑cp38‑cp38‑win_amd64.whl 这个文件,将此文件放入到 C:\Windows\System32 路径下。

进入 CMD 命令行窗口(或 Anaconda Prompt 亦可),进入 C:\Windows\System32 ,输入安装命令 pip install TA_Lib‑0.4.21‑cp38‑cp38‑win_amd64.whl

在脚本中导入该库:

MACD

EMA

开仓和平仓

开仓和平仓用一个函数即可,需要填写以下信息即可执行开仓和平仓:

  • 开多:买入开多(buyornot 填写 buy;direction_type 填写 long )
  • 开空:卖出开空(buyornot 填写 sell;direction_type 填写 short )
  • 平多:卖出平多(buyornot 填写 sell;direction_type 填写 long )
  • 平空:买入平空(buyornot 填写 buy;direction_type 填写 short )

市价全平

达到条件开仓平仓

在 Ubuntu 服务器中自动执行

请参考下下列文章:

标签:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注