本帖最后由 Brad 于 2020-2-20 01:29 编辑
今天是2020年2月19日,大盘收盘时,我们发现,上证指数形成了一根倒锤头线。如下图所示。
到百度百科上搜索了下对于这个k线形态的说明,找到了这么一句话:“倒锤头线(1)出现在下跌途中(2)阳线(亦可以是阴线)实体很小,上影线大于或等于实体的两倍(3)一般无下影线,少数会略有一点下影线见底信号,后市看涨...”。
所以依据这个建议,就可以赚钱了么?恐怕没能那么容易下定论吧。我们觉得有必要测试一下这个结论的真实性,因此构建出在上证指数上对于倒锤头衔的测试逻辑。
首先我们需要基于百度百科的这三个前提,构造出可以写成代码测试的逻辑。
第一,“出现在下跌途中”。如何定义下跌呢?这个对于下跌的定义,仁者见仁智者见智,因此决定先忽略这个条件。
第二,“阳线(亦可以是阴线)实体很小,上影线大于或等于实体的两倍”。这里由于给出了确切的2倍的数字,因此比较好量化,也容易写成代码。
第三,“一般无下影线,少数会略有一点下影线见底信号”,用数学公式表示,那就是0<下影线长度<X,但是这个最大值X应该是多少呢,按照对于倒锤头线的理解,下影线长度最大应该不能超过上影线。我们来参照一下今天的倒锤头线:
肉眼看上去,下影线约为上影线的五分之一。那么我们就把X先定为0.2*上影线长度,这里的0.2也可以设置成一个参数,让它在0到1之间取值,为了方便测试,我们先定0.2。
因此,两个开仓条件定义好了之后,要定义平仓条件。
为了方便测试,我们先试试如果进仓后,一天后便平仓,是一个什么样的效果:
测试一:
看多信号:当天收盘时,上影线大于等于实体的两倍 && 0<下影线长度<0.2*上影线长度
平仓信号:一天后平仓
回测表现:
回测时间:2000-1-4到2020-2-19
盈利率:11.01%
胜率:54.08%
盈亏比:1.36
交易次数:98
测试一文华代码:
ST:=ABS(O-C);//实体
S:=H-MAX(O,C);//上影线
X:=MIN(O,C)-L;//下影线
DCT:=S>2*ST&&0<X&&X<0.1*S;//倒垂头
DCT,BK;//出现倒垂头,进多仓
BARSBK>=DAYBARPOS,SP;//一天后平仓
AUTOFILTER;
如果加入创十日新高的过滤条件,结果会是什么样的呢?
测试二:
回测表现:
回测时间:2000-1-4到2020-2-19
盈利率:3.99%
胜率:52.63%
盈亏比:1.42
交易次数:38
测试二文华代码:
ST:=ABS(O-C);//实体
S:=H-MAX(O,C);//上影线
X:=MIN(O,C)-L;//下影线
DCT:=S>2*ST&&0<X&&X<0.2*S;//倒锤头
DCT && H=HHV(H,10),BK;//出现倒垂头,并且创前十日新高,进多仓
BARSBK>=DAYBARPOS,SP;//一天后平仓
AUTOFILTER;
接下来,改一下平仓信号。我们把出现倒锤头线当天的最高价HIGH和最低价LOW定为平仓信号。意思就是,之后任何一天的收盘价若碰到HIGH或者LOW,便平仓;若碰不到,就继续持多仓:
测试三:
看多信号:当天收盘时,上影线大于等于实体的两倍 && 0<下影线长度<0.1*上影线长度
平仓信号:之后收盘价>出现倒锤头线之日的最高价 或者 之后收盘价<出现倒锤头线之日的最低价
回测表现:
回测时间:2000-1-4到2020-2-19
盈利率:17.17%
胜率:45.92%
盈亏比:2.01
交易次数:98
测试三文华代码:
ST:=ABS(O-C);//实体
S:=H-MAX(O,C);//上影线
X:=MIN(O,C)-L;//下影线
DCT:=S>2*ST&&0<X&&X<0.2*S;//倒锤头
DCT,BK;//出现倒垂头,进多仓
C>REF(H,BARSBK)||C<REF(L,BARSBK),SP;//之后收盘价>出现倒锤头线之日的最高价 或者 之后收盘价<出现倒锤头线之日的最低价
AUTOFILTER;
接下来,如果在进仓条件中加入过滤信号,会是什么结果?
测试四:
看多信号:当天收盘时,创下了10日新高(包括当天) && 上影线大于等于实体的两倍 && 0<下影线长度<0.1*上影线长度
平仓信号:之后收盘价>出现倒锤头线之日的最高价 或者 之后收盘价<出现倒锤头线之日的最低价
回测表现:
回测时间:2000-1-4到2020-2-19
盈利率:7.49%
胜率:42.11%
盈亏比:2.4
交易次数:38
测试四文华代码:
ST:=ABS(O-C);//实体
S:=H-MAX(O,C);//上影线
X:=MIN(O,C)-L;//下影线
DCT:=S>2*ST&&0<X&&X<0.2*S;//倒锤头
DCT && H=HHV(H,10),BK;//出现倒垂头,并且创前十日新高,进多仓
C>REF(H,BARSBK)||C<REF(L,BARSBK),SP;//之后收盘价>出现倒锤头线之日的最高价 或者 之后收盘价<出现倒锤头线之日的最低价
AUTOFILTER;
最后,我们再换一个过滤条件。想到从2月3日大盘大幅度跳空低开之后,一连上涨了好多天,那我们就用过去10天内的阳线数量作为过滤条件。
测试五:
看多信号:当天收盘时,过去10天内(包括当天),阳线数量>7个 && 上影线大于等于实体的两倍 && 0<下影线长度<0.1*上影线长度
平仓信号:之后收盘价>出现倒锤头线之日的最高价 或者 之后收盘价<出现倒锤头线之日的最低价
回测表现:
回测时间:2000-1-4到2020-2-19
盈利率:1.78%
胜率:50.00%
盈亏比:1.76
交易次数:8
测试五文华代码:
ST:=ABS(O-C);//实体
S:=H-MAX(O,C);//上影线
X:=MIN(O,C)-L;//下影线
DCT:=S>2*ST&&0<X&&X<0.2*S;//倒锤头
DCT && COUNT(ISUP,10)>7,BK;//出现倒垂头,并且过去10天内阳线数量>7个,进多仓
C>REF(H,BARSBK)||C<REF(L,BARSBK),SP;//之后收盘价>出现倒锤头线之日的最高价 或者 之后收盘价<出现倒锤头线之日的最低价
AUTOFILTER;
同时,我们分别用五次测试的信号进行加载,发现五个测试信号都显示今天(2/19)有进多仓信号了。
结论
最终,经过五次测试,我们将结果汇总如下:
五次测试中,测试一和测试三结果相对比较突出。并且我们也证明了一开始百度百科对于锤头线操作的可信度,在大盘上面,基于这几次测试的结果,确实是可以赚钱的。
|