文章插图
前言交易系统的"止盈",作者认为是一个非常重要的模块 。我常说,好的开仓仅仅决定你的策略浮盈大小,而最终的交易结果却只有止盈决定 。
文章插图
作者之前就曾写过,比较经典的跟踪止盈方法之一,那就是"AF加速算法跟踪止盈"!已经有了Python和TB两个版本 。
"AF加速算法跟踪止盈",最明显的特征是能够快速守住利润 。因为,它受价格和持仓时间的影响 。
如下图所示:
文章插图
每一根k线无论上涨还是下跌,它都会按照一定的速度调整跟踪止盈线 。这是,它能够快速保住利润的原因之一 。
文章插图
而作者今天,就同样给大家分享另外一个跟踪止盈方法,"k线波幅加速算法跟踪止盈" 。
顾名思义,这个方法仅仅与价格的波动幅度有关系,并且以这个幅度来决定止盈线上调或下调的尺寸 。
文章插图
借助天勤量化交易平台,以Python为开发语言编写双均线多头策略,并加入"k线波幅加速算法跟踪止盈"线作为退出机制!
"k线波幅加速"算法跟踪止盈的逻辑如果系统中采用跟踪止盈方法,尽可能的采用具有"自适应"功能的止盈方法 。因为它可以根据当前市场的波动,动态的去调整自己的出场位置 。
有助于策略的出场更加合理!
文章插图
算法逻辑: 多头为例,并假设当前持有多单 。
- 开仓bar的最低价-n*ATR,得到初始止损 。
- 开仓后,如果收盘价创新高,则以初始止损为起点,增加今日与昨日收盘价价差的n倍(本文选取 n = 0.7) 。
- 如果收盘价没有新高,跟踪止盈线就不调整 。
文章插图
小结 。
其实,k线波幅加速算法跟踪止盈基本思想就是,价格如果朝预期方向走,那么我就移动止盈线,如果未动则保持不变 。
它与我们以前提到过的Af加速算法跟踪止盈最大的区别就是,AF算法无论价格是否朝预期方向,跟踪止盈线都会调整 。
Python实现"k线波幅加速算法跟踪止盈作者借助天勤量化平台,以双均线交易系统多头为例,实现k线波幅加速算法跟踪止盈 。
并且,作者已经将该方法封装到DJ_Finance.py模块中,直接调用Stop_Range方法就可以实现该止盈 。
1. 首先导入对应的模块及参数设置 。
其中,vars字典的设置是跟踪止盈的函数的参数以及变量,在跟踪止盈代码函数中需要传入此字典方能正常调用 。
文章插图
跟踪止盈所需的参数、变量 。
文章插图
2. 计算双均线技术指标和平均真实波幅ATR 。并且判断出多空趋势,并用trend进行标记多空信号 。
文章插图
3. 策略开平仓代码,开仓条件非常的简单,金叉开仓,跟踪止盈平仓 。
1)策略开仓部分 。
文章插图
Run:
文章插图
2) 策略平仓部分 。
文章插图
其中最主要的是,当策略开仓后我们需要调用点及财经py模块中的StopATR_range()方法 。我们需要传入k线数据以及含有跟踪止盈所需的参数和变量 。
如下图所示:
文章插图
Run:
文章插图
3) 执行策略回测 。直接调用main方法,就可以执行策略回测了 。
文章插图
Run:
文章插图
推荐阅读
- 电脑上必备的无线传输工具,最快30MB/s
- Python的安装
- 建立成功的 Python 环境的 4 个基本工具
- centos7安装python3.7.8和pip3
- Python全栈之Flask 简介
- Python 如何传递运算表达式?
- 200 个工具分析机器学习十年:前途未卜、工程师是核心
- MySQL压力测试工具,值得收藏
- 还在用工具激活系统?小心被当做矿机
- 在淘宝首页搜索框里输入一个关键词 淘宝选词工具