
书接上回,今天我们来学习如何将一个指标写成交易策略,我们实际回测一下,争取大家学会简单交易策略的编写过程和具体逻辑。

交易策略参数

瀑布线指标

ATR以及多头空头排列

交易策略构建
完整源码:
//////////////////////********极致量化********///////////////////
/////////////////////////瀑布线交易策略展示//////////////////////
//时间:2024年6月23日——广东汕头
//瀑布线指标画法
// PBA是第一条瀑布线,基于M1的参数进行计算
PBA:(EMA(CLOSE,M1)+MA(CLOSE,M1*2)+MA(CLOSE,M1*4))/3;
// PBK是第二条瀑布线,基于M2的参数进行计算
PBK:(EMA(CLOSE,M2)+MA(CLOSE,M2*2)+MA(CLOSE,M2*4))/3;
// PBC是第三条瀑布线,基于M3的参数进行计算
PBC:(EMA(CLOSE,M3)+MA(CLOSE,M3*2)+MA(CLOSE,M3*4))/3;
// PBD是第四条瀑布线,基于M4的参数进行计算
PBD:(EMA(CLOSE,M4)+MA(CLOSE,M4*2)+MA(CLOSE,M4*4))/3;
// PBE是第五条瀑布线,基于M5的参数进行计算
PBE:(EMA(CLOSE,M5)+MA(CLOSE,M5*2)+MA(CLOSE,M5*4))/3;
// PBF是第六条瀑布线,基于M6的参数进行计算
PBF:(EMA(CLOSE,M6)+MA(CLOSE,M6*2)+MA(CLOSE,M6*4))/3;
//交易策略构建
//ATR计算
//求最高价减去最低价,一个周期前的收盘价减去最高价的绝对值,一个周期前的收盘价减去最低价的绝对值,这三个值中的最大值
TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
//求N个周期内的TR的简单移动平均
ATR := MA(TR,21);
//多头排列和空头排列条件
DTPL:= PBA > PBK && PBK > PBC && PBC > PBD && PBD > PBE && PBE > PBF;
KTPL:= PBA < PBK && PBK < PBC && PBC < PBD && PBD < PBE && PBE < PBF;
//开仓头寸建立
//持仓状态为0,满足多空排列和价格突破立即开仓进场
BKVOL=0 && C > PBA && C > PBK && C > PBC && C > PBD && C > PBE && C > PBF,BK;
BKVOL=1 && DTPL=1,BK;
SKVOL=0 && C < PBA && C < PBK && C < PBC && C < PBD && C < PBE && C < PBF,SK;
SKVOL=1 && KTPL=1,SK;
//止损设计
//设计两种出场方式,1,开仓后直接奔向止损点,2,直到反方向信号出现
BKVOL > 0 && C<=(BKPRICE-1.618*ATR),SP;
CLOSE<=BKHIGH*(1-15/100),SP;
BKVOL > 0 && C < PBA && C < PBK && C < PBC && C < PBD && C < PBE && C < PBF,SP;
SKVOL > 0 && C>=(SKPRICE+1.618*ATR),BP;
CLOSE>=SKLOW*(1+15/100),BP;
SKVOL > 0 && C > PBA && C > PBK && C > PBC && C > PBD && C > PBE && C > PBF,BP;
//过滤信号
TRADE_OTHER(‘AUTO’);//自动移仓换月
AUTOFILTER;
上面的代码你完全可以拷贝到自己的电脑,接下的演示将跟我的一模一样,看一百遍不如实地操作一次,因为你实际操作一次,感受到实际结果你就知道量化交易跟你纯手工交易有本质的区别。
注意量化策略本质上没有高低之分,因为不管什么量化策略没有无限提升的可能,因为这里面有个核心思想“如果可以无限提升收益上限,那么这个市场将不复存在!”
下面,我们来逐字逐句解释代码意思和逻辑思想
//瀑布线指标画法
// PBA是第一条瀑布线,基于M1的参数进行计算
PBA:(EMA(CLOSE,M1)+MA(CLOSE,M1*2)+MA(CLOSE,M1*4))/3;
// PBK是第二条瀑布线,基于M2的参数进行计算
……..
这段代码主要是解决瀑布线的画法,它的意思用到EMA(指数移动平均)以及MA(简单移动平均),取周期的1倍,2倍和4倍然后简单平均除以3。
瀑布线是一种中线指标,一般用来研究股价的中期走势,与普通均线系统相比较,它具有反应速度快,给出的买卖点明确的特点,并能过滤掉盘中主力震仓洗盘或下跌行情中的小幅反弹,可直观有效地把握住大盘和个股的运动趋势,是目前判断大势和个股股价运行趋势颇为有效的均线系统。
瀑布线的优点还在于其不会类似其他指标那样频繁发出信号,瀑布线的买卖信号出现并不多,如果瀑布线给出了买入或卖出信号,只要按照其应用原则去做,就一定会取得较好的投资收益。
在趋势明显的上涨或下跌趋势中,瀑布线能给出明确的买卖点和持仓信号,是把握波段行情的利器,它不仅适用于平衡市的操作,更适用于上涨趋势明显中应用。(这段来自抖音百科对瀑布线的解释)
其实也就那样,输出结果如下:

下面我们就来建立交易策略,我曾经在连载《勇敢者的游戏》里面说过,我随便都可以写几十套具有正向收益的策略,虽然有夸张嫌疑,但是你只要满足如下几点,你也可以:
1,开仓具有确定性,记住我说的确定性,我不是说过未来不可预测,交易怎么能说有确定的东西?其实一点都不矛盾。
我其实表达的意思是,一旦未来有趋势行情,价格一定在之前出现过大于或者小于所有趋势的情况,那里就是我们的进场点。

上图箭头这两个地方就是进场点
2,进场必带止损。
3,逻辑既要考虑到回撤又要有吃到波段的思维,逻辑要有封闭性,确保没有漏洞。
只要满足上面三点,你随便写交易逻辑都可以实现正向收益。

ATR和多空排列
上面两段落的就是求出ATR和多头还是空头排列的举动,一个是求出真实K线波动率,一个是求出整体行情形态。目的后续调用。

多空开仓
上面这段是多空开仓多空开仓逻辑,需要逐句解释一下;
BKVOL=0 && C > PBA && C > PBK && C > PBC && C > PBD && C > PBE && C > PBF,BK;
//在空仓状态(BKVOL=0),收盘价大于所有均线,开仓(BK,多开仓),交易第一原则就是价格为第一要素,什么量价关系还是实时新闻等等都没实盘价格的权重大。
BKVOL=1 && DTPL=1,BK;
//这句的意思,已经开仓一手,但是又出现多头排列的情况,(DTPL=1),再开一手,这句的意思就是形态满足多头形态再次进场。
空头就是多头的镜像反写就好。

止损的设计
关键的止损环节
BKVOL > 0 && C<=(BKPRICE-1.618*ATR),SP;
//上面这句就是,只要有持多开仓,价格小于开仓位置的1.618倍ATR 的值就出场(SP)
CLOSE<=BKHIGH*(1-15/100),SP;
//上面这句就是价格没出现止损,但是从高点滑落15%也出场,比方在1000点进场涨到1300,咔,又掉落到(1300*0.85=)1105就会被动离场,典型的移动止损模式,越涨止损线会逐步提高。
BKVOL > 0 && C < PBA && C < PBK && C < PBC && C < PBD && C < PBE && C < PBF,SP;
//上面这句就是价格在运行途中,开始出现疲软,均线开始呈现黏合状态,冷不丁,价格击穿所有均线,它既没有出现15%的回撤幅度,又没有直接奔向止损点,那么我们的原则,既然不行就多头状态退出,让空头进场来试试。这样也就完美封闭了整个交易逻辑。
测试一下表现:

单个品种测试

27年的跨度
27年的时间,无穷无尽的走势刚住了出现正向趋势。我们来选择全市场,散户都可以参与的品种又有成交量和持仓的三十多个品种看看


总收益曲线
还可以吧?每个品种虚拟50万,我们来读取一下分析报告。

30年的总体时间,买卖信号总计8300个(平均每天开仓或者平仓一次,绝对的低频率),大概手续费10万元左右,最大真实本金164586,我们取20万,总计收益113万6千多,考虑滑点,我们按照最大打85折(实际滑点绝对不可能),这样(1134610-100000)*0.85=8794185这是最保守的收益。
你可能看到收益率才6.88%,那是我虚拟16500000(每个50万,33个品种,其实真有这么多钱用不着玩这个了,安心养老算了)才造成这样,如果你看最大实际需求164585,实际30年收益的是接近7倍的。虽然不算暴利(暴利其实都不长久),你要知道全世界的赌场整体真实优势不过才55%左右,就可以打遍天下无敌手,真实社会什么东西都需要时间沉淀,哪有一蹴而就的美事等你捞现成的?所以读取数字报告要注意这些细节。
本策略是没有进行参数优化和进出场细节优化的,是非常具有普适性和生命力的。
这个策略实际属于均线类另类策略,欢迎各位留言,希望看到其他交易策略,我来完成。好了今天就到此为止。(未完待续)

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/78481
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!