量化炒股15:交易策略中的常见技术指标1
经过前面章节的介绍,大家对于炒股软件的基本测试或复盘功能都已经熟悉了,那么接下来就是将自己的交易理念转化成具体的模型了,所以之后的几章主要介绍一下常见的技术指标或交易模式,供大家在形成交易策略的时候参考。
我们从中长线的交易模式说起。首先,中长线中常见的技术指标,还是大家经常见到或使用的几种:均线、布林线、MACD、KDJ等。大家平时可能还会用到其他更多的自己熟悉的指标,由于篇幅的限制,这里仅就上面这几种指标的大概使用方式做个简单的介绍,主要还是想起到抛砖引玉的作用。
一、均线
均线可以说是技术指标中最“大牌”的了,它的应用十分的广泛,甚至很多其他的指标也是基于均线的理念创建出来的。
均线的定义十分简单,就是对过去一定时间的价格取移动平均值,比如30日线的写法就是MA(C,30)。其核心目的还是希望尽量描述出近期一段时间的价格走势趋向。
对于均线,我大概分了几类使用方式,供大家参考:
1. 上穿下穿
均线的上下穿是使用均线时最常见的方式,包括股票价格对某一根均线的上穿下穿,还包括均线之间的上穿下穿。在写模型的时候可以用以下语句来实现,还是以30日线作为举例:
上穿:=CROSS(C,MA(C,30));
或者:
上穿:=C>=MA(C,30);
这是价格上穿均线的两种写法,前者是只有价格上穿30日线那一根K线才满足条件,而第二种写法则是只要价格在30日线之上就满足条件,大家在使用时可以根据自己的需求来选择。
相应的均线之间的上穿下穿和上面的写法类似,比如5日线上穿10日线:
上穿:=CROSS(MA(C,5),MA(C,10));
2. 均线发散
几条均线呈现一根比一根高或低,并且都沿着某个趋势延续的形态,我们称之为均线发散,分为多头和空头两种情况。
例如,5/10/30/60,这四条均线组成的四线多头发散的写法如下:
M5:=MA(C,5);
M10:=MA(C,10);
M30:=MA(C,30);
M60:=MA(C,60);
多头发散:=M5>=M10 && M10>=M30 && M30>=M60;
上面的语句,首先将需要的均线进行定义,再描述他们之间的位置关系。
有的时候,我们不光要求他们之间的位置关系,对于他们各自的运行趋势也有要求,比如要求他们各自都要呈现向上的趋势,即当前的数值比前一根K线的数值更大,所以也可以做出如下补充:
多头发散:=M5>=M10 && M10>=M30 && M30>=M60 && M5>=REF(M5,1) && M10>=REF(M10,1) && M30>=REF(M30,1) && M60>=REF(M60,1);
3. 均线回踩
均线回踩是在一波上涨或下跌过程中经常可以看到的走势类型,如下图所示:
图中两个红圈处分别是上涨过程中对60日线的向下回踩,两个黄圈处分别是下跌过程中对60日线的向上回踩。
而如果我们以“马后炮”的方式看这个走势,可以得出如下结论:两次红圈的地方应该是买入或加仓的地方,而黄圈则是止损的好地方。
而在真正实盘的时候,我们极大概率没有那么高的技术水平来判断这些回踩的地方到底能不能“踩住”,所以真正面对回踩时,我建议大家最好采取“滞后交易”的方式来操作,何为“滞后交易”?就是确定这次回踩真正有效之后再做决定,比如:在上涨过程中,回踩之后如果价格很快回到10日线以上,并且当下K线的高点比前一根K线的高点更高,则视为回踩有效。
我们将上述理念写成具体的语句如下:
下穿:=L/M60<=1;
向下回踩:=下穿 && REF(BARSLAST(下穿)>=15,1);
回踩有效:=BARSLAST(向下回踩)<=5 && C>M10 && H>REF(H,1);
DRAWTEXT(回踩有效=1 && REF(回踩有效=0,1), L, '回踩有效');
首先,我们要定义向下回踩这个动作,需要当根K线的最低点低于60日线,并且要求最近15根K线内是第一次下穿60日线,用以代表之前一直处于60日线以上,属于上涨趋势中。
其次,如果回踩动作发生在最近5根K线之内,我们要等待看看价格是否可以回到10日线上,并且高点是否比前一根的K线更高。
上述语句保存后,可以看到如下图所示:
在符合条件的K线下面就标注了“回踩有效”的汉字。
备注:需要说明的是,上述语句仅仅是就随机选取的一只股票某一个时段的走势随意创建的语句,仅仅用于举例,对其胜率、有效性等并没有进行过论证。
大家如果想在均线回踩这种走势类型上开发交易策略,还是需要大家多多复盘和测试,争取创建出自己满意的模型。
4. 其他类型
均线的运用肯定远远不止上面介绍的这几种,比如前面第8章中,我们就曾经举例了均线粘合这种走势的写法。我们每个人都会有自己的想法、思考方式,不管哪种方式都是期望能够抓住市场中的趋势,所以大家在创建模式的时候一定要尽量多观察多复盘。
二、布林线
布林线常见的定义方式如下:
中轨:MA(C,26);
上轨:I+2*STD(C,26);
下轨:I-2*STD(C,26);
可以看到三条线其实本质上还是基于均线创造出来的,布林线给大家的直观感受就是:在单边上涨或下跌的时候,K线会“紧贴着”上轨或下轨运行;在震荡行情时,遇到上下轨基本上会出现回落或反弹的情况。咱们还拿刚才那只股票的走势来看一下:
而对于布林线的运用,也是常见的模式:上穿下穿、回踩等。
1. 上穿下穿
布林线总计三条线,那么每条线都可以有上穿和下穿的情形出现,具体的写法很简单,还是和均线一样的写法,这里就不赘述了。
2. 回踩
我们观察图形,会发现在三条线上都有可能发生回踩的情况,而具体的写法也是如同上面的均线回踩一样,大同小异,大家可以根据自己的需求来创建。
这里举个例子,比如我们观察上图,看到往往股价回踩下轨之后,如果很快上穿中轨的话,可能会有一波上涨,这时我们可以根据这个理念写出买入条件的语句:
{布林线定义}
中轨:=MA(C,26);
上轨:=中轨+2*STD(C,26);
下轨:=中轨-2*STD(C,26);
下穿下轨:=L/下轨<=1;
向下回踩:=下穿下轨 && REF(BARSLAST(下穿下轨)>=5,1);
回踩有效:=BARSLAST(向下回踩)<=5 && CROSS(C,中轨);
买入:=回踩有效;
卖出:=CROSS(中轨,C);
ENTERLONG: 买入;
EXITLONG: 卖出;
首先定义布林线,之后和上面均线回踩类似,定义回踩和回踩有效,并且将回踩有效作为买入条件。
将跌破布林线作为卖出条件,这样我们可以看到这个走势图上的买卖信号如下:
如果对于卖出条件觉得不满意,还可以进行相应的修改,这里只是举例,就不再展开了。
3. 其他类型
对于布林线和上面的均线一样,都是被大家平时广泛使用的技术指标,甚至每一条线都可以单独创造出各种不同的交易策略,这就需要大家后续的研究了。
本章就写到这里,主要简单介绍了均线和布林线两种常见指标和他们的使用举例,下一章将继续介绍MACD和KDJ的常见用法。