python写交易系统_鳄鱼线交易系统Python版
摘要
做过交易的人大概会有一种体会,有时候价格波动很有规律,但更多时候它呈现出随机游走的不稳定状态。正是这种不稳定才是市场风险和机会的地方。不稳定也就代表了不可预测,那么如何在不可预测的市场环境中让收益变得更稳定,也是每一位交易者的难题。本篇将介绍鳄鱼交易法则策略,希望对大家有所启发。
什么是鳄鱼线
鳄鱼线其实就是三根特殊的均线,分别对应的是:蓝线鳄鱼的下巴、红线鳄鱼的牙齿、绿线鳄鱼的上唇。其中下巴是 13 周期均线,并向未来方向移动 8 根 K 线,牙齿是 8 周期均线,并向未来方向移动 5 根 K 线,上唇是 5 周期均线,并向未来方向移动 3 根 K 线。
鳄鱼线原理
鳄鱼线是根据几何学以及非线性动力学总结出来的一套技术分析方法,当鳄鱼的下巴、牙齿和上唇闭合,或者相互纠缠时,代表鳄鱼睡着啦。这时我们通常待在市场外面,直到碎形出现,这样我们就可以原理不确定的市场,并且只参与明显的趋势行情。
当鳄鱼睡觉时间越长,醒来时就会越饿,所以一旦醒来,就会张大嘴巴。如果上唇在牙齿以上,牙齿在下巴以上,表明市场进入多头行情,鳄鱼要吃牛肉了。如果上唇在牙齿以下,牙齿在下巴以下,表明市场进入空头行情,鳄鱼要吃熊肉了。直到吃饱为止,之后它会再次闭上嘴巴(持有并获取利润)。
鳄鱼线计算公式
上唇 = REF(SMA(VAR1,5,1),3)
牙齿 = REF(SMA(VAR1,8,1),5)
下巴 = REF(SMA(VAR1,13,1)
鳄鱼策略构成实现
第一步:编写策略框架
发明者量化采用轮询模式,一个是onTick函数,另一个是main函数,其中在main函数中无限循环执行onTick函数。
第二步:导入Python库
我们的策略中使用了SMA函数,SMA是算数平均数,在talib库中已经有现成的SMA函数,所以直接导入talib的Python库,然后直接调用就可以了。因为在调用该函数时,需要传入numpy格式的参数,所以我们要在策略开头使用import导入这两个Python库。
第三步:转换K线数组数据
这里我们创建了一个get_data函数,这个函数的目的是将普通的K线数组,处理成numpy格式的数据。输入参数为K线数组,输出结果为处理好的numpy格式的数据。
第四步:获取持仓数据
持仓状态牵涉到策略逻辑,我们前十节课程一直都是使用虚拟持仓,但在真实的交易环境中最好是使用GetPosition函数,获取真实的持仓信息,包括:持仓方向、持仓盈亏、持仓数量等等
第五步:获取数据
在获取数据之前首先要使用SetContractType函数订阅相关期货品种,发明者量化支持有所的国内商品期货品种。订阅完期货品种后就可以使用GetRecords函数获取K线数据,返回的是一个数组。
第六步:计算数据
在使用talib库计算SMA之前,需要用numpy库把普通的K线数组处理为numpy数据。然后分别获取鳄鱼线的下巴、牙齿、上唇。另外在下单的时候需要传入价格参数,所以我们可以使用K线数组中的收盘价。
第七步、下单交易
在下单交易之前,需要先获取真实的持仓量,我们之前定义的get_position函数会返回真实的持仓数量,如果当前是多单就返回正数,如果当前是空单就返回负数,如果当前无持仓就返回0。最后就是根据上面的交易逻辑使用buy和sell函数下单交易,但是在这之前需要先设置交易方向和类型。
完整策略
直接点击下方链接,复制完整策略,无需配置直接回测:
结尾
鳄鱼交易法则最大的作用是不管当前市场价格如何变化,帮助我们在交易时保持与市场一致的方向,并且持续获利直到盘整行情出现为止。鳄鱼线与其他MACD、KDJ指标都可以很好的搭配使用。最后提醒大家本篇策略请勿用于实盘交易。
python写交易系统_鳄鱼线交易系统Python版相关推荐
- python写交易系统_鳄鱼线交易系统Python版 摘要 做过交易的人大概会有一种体会,有时候价格波动很有规律,但更多时候它呈现出随机游走的不稳定状态。正是这种不稳定才是市... - 雪球...
来源:雪球App,作者: 发明者量化,(https://xueqiu.com/8152775789/149279000) 摘要 做过交易的人大概会有一种体会,有时候价格波动很有规律,但更多时候它呈现出 ...
- python 正数变成负数_鳄鱼线交易系统Python版
摘要 做过交易的人大概会有一种体会,有时候价格波动很有规律,但更多时候它呈现出随机游走的不稳定状态.正是这种不稳定才是市场风险和机会的地方.不稳定也就代表了不可预测,那么如何在不可预测的市场环境中让收 ...
- 我的世界python写游戏_快来试试Python写的游戏《我的世界》
<我的世界 Minecraft>大家应该都听说过,但你有没有想过自己用Python写一个这样的游戏呢?太难.太复杂了?也许吧,但是不试一试你怎么知道能不能成呢? 国外有位叫fogleman ...
- python编程基础_月隐学python第2课
python编程基础_月隐学python第2课 学习目标 掌握变量的输入和输出 掌握数据类型的基本概念 掌握算数运算 1.变量的输入和输出 1.1 变量输入 使用input输入 input用于输入数据 ...
- 查看Python的版本_查看当前安装Python的版本
一.查看Python的版本_查看当前安装Python的版本 具体方法: 首先按[win+r]组合键打开运行: 然后输入cmd,点击[确定]: 最后执行[python --version]命令即可. 特 ...
- 交易软件 python_鳄鱼线交易系统Python版
摘要 做过交易的人大概会有一种体会,有时候价格波动很有规律,但更多时候它呈现出随机游走的不稳定状态.正是这种不稳定才是市场风险和机会的地方.不稳定也就代表了不可预测,那么如何在不可预测的市场环境中让收 ...
- python写金字塔_金字塔python开发手册
python API 基本方法 编写策略过程中所需要使用的基本函数.其中init和handle_bar是必须实现的两个方法,其余是可选择实现的方法. init (必须实现) init(context) ...
- python写词法分析器_如何用python写一个简单的词法分析器
编译原理老师要求写一个java的词法分析器,想了想决定用python写一个. 目标 能识别出变量,数字,运算符,界符和关键字,用excel表打印出来. 有了目标,想想要怎么实现词法分析器. 1.先进行 ...
- python写词法分析器_[宜配屋]听图阁
编译原理老师要求写一个java的词法分析器,想了想决定用python写一个. 目标 能识别出变量,数字,运算符,界符和关键字,用excel表打印出来. 有了目标,想想要怎么实现词法分析器. 1.先进行 ...
最新文章
- 浪潮刘军:为什么说计算力是AI时代“免费的午餐”?
- 基于SNMP的MIB库访问实现的研究
- Android中关于setLatestEventInfo()过时以及构建Notification的解决方法
- 《剑指offer》第四题(二维数组中的查找)
- linux与pc机网络通信,PC宿主机和目标机通信方式
- Genomic characterization of metastatic breast cancers 转移性乳腺癌的基因组特征
- Linux 下压缩与解压.zip和.rar
- windows10未安装任何音频输出设备(1903、1909)
- 百度云盘--ABAQUS_Python后处理教程
- sql server 2000 sp3 补丁
- matlab求解拉格朗日第一方程,matlab求解拉格朗日方程肿么编程
- VSCode配置git图文
- Cisco.Packet.Tracer思科模拟器浮动路由讲解(含实例步骤)
- 如何用公式计算计算机的及格率,及格率和优秀率公式 在excel中如何计算及...
- Ubuntu 16.04部署ROS bridge服务器流程
- 用aspose转换文档成PDF导致中文变成方框
- 计算机函数if80到90分怎么弄,用EXCEL工作表怎样利用IF函数计算分数等级
- imx6ul——uboot添加RTC,pcf8563驱动
- 快速中值滤波在心电图ECG中的应用
- 外贸建站之独立站系统选择
热门文章
- Jupyter notebook教程系列(三)Jupyter notebook拓展功能
- vue-element-admin项目如何获取并且成功安装依赖
- 习题4-8 特别困的学生(Extraordinarily Tired Students,ACM/ICPC Xi'an 2006,UVa12108)
- 皮影机器人ppt_还可以这么玩?皮影戏机器人惊艳“机器人创想秀”
- 不动点求数列通项原理_不动点法和数列通项公式
- python批量将pdf转成word_Python-PDF转为Word
- android之语音输入
- CAUC算法与数据结构复习基本代码(一)
- ngin重启及命令查看配置是否正确
- 问题锦集 | 网课失去焦点/离开页面就自动暂停?