止损模块:首先计算最新中间价,如果新的中间价偏离了网格报单中间价20%的比例,撤掉所有订单,并对当前的亏损仓位全部止损。例如,价格向下偏离原始网格中点,平掉所有多头仓位;而价格向上偏离,平掉所有空头仓位。平仓结束后,将新的中间价设为网格中点,并调用挂单模块,重新报多空开仓的网格单。
策略整体开发框架介绍完核心的三大模块,我们通过一张执行流程图,来看一下这个网格策略的整体开发框架。
首先,策略启动,我们调用init函数进行初始化,init函数执行两个功能,一是通过历史行情计算确定网格中点,二是读取账户信息,包括挂单、成交、钱、币等信息。
接着,调用putGridOrder函数,执行网格挂单模块,在该模块的执行过程中,依赖init计算的网格中点,往上、往下分别等间隔的挂n份多单、空单。
再接着运行checkStopLoss,检查当前最新行情是否击穿所有网格并触发止损,此处有两个分支:如果触发止损,我们首先平掉亏损方向的所有订单,平仓完成后重新执行初始化,即获取网格中点,读取账户,重新对新的网格中点执行网格挂单;而如果止损未触发,则执行checkout模块,检查挂单中是否有订单已被成交,如果开仓单被成交,则在对应止盈的格子价位挂反向平仓单,如果平仓单被成交,则在对应被成交的开仓价位,重新挂开仓单。通过流图我们可以看到,整个程序是一个无限循环判断+执行的过程。
以上,就是我们对于这个数字货币双向网格交易策略实现代码的详细介绍,欢迎大家扫码添加数量技术宅个人微信,领取策略的完整代码。
关注 “数量技术宅”不迷路,您的点赞、转发,是我输出干货,最大的动力
往期干货分享推荐阅读
通过深度学习股价截面数据分析和预测股票价格
Omega System Trading and Development Club内部分享策略Easylanguage源码
一个真实数据集的完整机器学习解决方案(下)
一个真实数据集的完整机器学习解决方案(上)
如何使用交易开拓者(TB)开发数字货币策略
股指期货高频数据机器学习预测
如何使用TradingView(TV)回测数字货币交易策略
如何投资股票型基金?什么时间买?买什么?
【数量技术宅|量化投资策略系列分享】基于指数移动平均的股指期货交易策略
AMA指标原作者Perry Kaufman 100+套交易策略源码分享
【 数量技术宅 | 期权系列分享】期权策略的“独孤九剑”
【数量技术宅|金融数据系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单
【数量技术宅|量化投资策略系列分享】成熟交易者期货持仓跟随策略
如何获取免费的数字货币历史数据
【数量技术宅|量化投资策略系列分享】多周期共振交易策略
【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数
商品现货数据不好拿?商品季节性难跟踪?一键解决没烦恼的Python爬虫分享
【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品
【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略
【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫