请选择 进入手机版 | 继续访问电脑版

双针探底K线形态测试和代码版本汇总

[复制链接]
查看121 | 回复4 | 王博 | 2020-4-8 00:20:34 | 显示全部楼层 |阅读模式
1) 定义双针探底的具体形态
形态条件1:出现在下跌行情中
量化定义:第一根K线收盘价<20日均线
形态条件2:K线带有长下影线
量化定义:下影线>0.2倍ATR,并且实体长度<K线整体的0.5倍
形态条件3:两根长下影线K线连续出现,或者中间间隔一根其它K线
量化定义:中间K线的最低价>“双针”的最低价
形态条件4:两根长下影线最低价近似
量化定义:2根下影线最低价差值的绝对值<0.2倍的ATR

2) 测试买卖条件
买入条件:出现双针探底,以收盘价买入
卖出条件:买入后第二天,以收盘价卖出

回复

使用道具 举报

王博 | 2020-4-8 00:21:39 | 显示全部楼层
测试一代码:

//定义仓位
FUND:=10000000;
LOTS:=INTPART(FUND*0.8/(CLOSE+FEE));//计算手数,使每次开仓金额都是800W

//定义ATR
TR:=MAX(MAX((H-L),ABS(REF(C,1)-H)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,取这3个值中的最大值为TR值
ATR:=MA(TR,26);//求26个周期内的TR的简单移动平均

//定义20日均线
MA20:MA(C,20);

//定义K线
XYXCD:=MIN(O,C)-L;//下影线长度
KXST:=ABS(O-C);//K线实体长度
XX:=KXST<(H-L)*0.5;//星线实体
CXYX:=XYXCD>ATR*0.5;//长下影线

//定义双针探底形态
SZTDJA1:=CXYX AND XX;//当天星线,并且有长下影线
SZTDJA2:=COUNT(CXYX AND XX,3)>1;//3个周期内满足SZTDJA1的个数大于1
SZTDJA3:=REF(C,1)<REF(MA20,1);//下跌趋势中
SZTD:=SZTDJA1 AND SZTDJA2 AND SZTDJA3;//双针探底

SZTD,BK(LOTS);//出现双针探底,进买入
BARSBK=1,SP(BKVOL);//一天后卖出
回复

使用道具 举报

王博 | 2020-4-8 00:23:08 | 显示全部楼层
测试二代码:

//定义仓位
FUND:=10000000;
LOTS:=INTPART(FUND*0.8/(CLOSE+FEE));//计算手数,使每次开仓金额都是800W

//定义ATR
TR:=MAX(MAX((H-L),ABS(REF(C,1)-H)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,取这3个值中的最大值为TR值
ATR:=MA(TR,26);//求26个周期内的TR的简单移动平均

//定义60日均线
MA60:MA(C,60);

//三、定义K线
XYXCD:=MIN(O,C)-L;//下影线长度
KXST:=ABS(O-C);//K线实体长度
XX:=KXST<(H-L)*0.5;//星线实体
CXYX:=XYXCD>ATR*0.5;//长下影线

//四、双针探底形态
SZTDJA1:=CXYX AND XX;//当天星线有长下影线
SZTDJA2:=COUNT(CXYX AND XX,3)>1;//3个周期内满足SZTDJA1的个数大于1
SZTDJA3:=REF(C,1)<REF(MA60,1);//下跌趋势中
SZTD:=SZTDJA1 AND SZTDJA2 AND SZTDJA3;//双针探底

SZTD,BK(LOTS);//出现双针探底,买入
BARSBK=1,SP(BKVOL);//一天后卖出
回复

使用道具 举报

王博 | 2020-4-8 00:28:50 | 显示全部楼层
测试三代码:

//定义仓位
FUND:=10000000;
LOTS:=INTPART(FUND*0.8/(CLOSE+FEE));//计算手数,使每次开仓金额都是800W

//定义ATR
TR:=MAX(MAX((H-L),ABS(REF(C,1)-H)),ABS(REF(C,1)-L));//求最高价减去最低价,一个周期前的收盘价减去最高价的绝对值,一个周期前的收盘价减去最低价的绝对值,这三个值中的最大值
ATR:=MA(TR,26);//求26个周期内的TR的简单移动平均

//定义20日均线
MA20:MA(C,20);

//定义K线
XYXCD:=MIN(O,C)-L;//下影线长度
KXST:=ABS(O-C);//K线实体长度
XX:=KXST<(H-L)*0.5;//星线实体
CXYX:=XYXCD>ATR*0.5;//长下影线

//双针探底形态
SZTDJA1:=CXYX AND XX;//当天星线有长下影线
SZTDJA2:=COUNT(CXYX AND XX,3)>1;//3个周期内满足SZTDJA1的个数大于1
SZTDJA3:=REF(C,1)<REF(MA20,1);//下跌趋势中
SZTD:=SZTDJA1 AND SZTDJA2 AND SZTDJA3;//双针探底

SZTD,BK(LOTS);//出现双针探底,进多仓
BARSBK=10,SP(BKVOL);//10日后平仓

回复

使用道具 举报

王博 | 2020-4-8 00:30:35 | 显示全部楼层
测试四代码:

//定义仓位
FUND:=10000000;
LOTS:=INTPART(FUND*0.8/(CLOSE+FEE));//计算手数,使每次开仓金额都是800W

//定义ATR
TR1:=MAX(MAX((H-L),ABS(REF(C,1)-H)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,取这3个值中的最大值为TR值
ATR:=MA(TR1,26);//求26个周期内的TR的简单移动平均

//定义均线
MA20:MA(C,20);

//定义DMI指标
TR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);//最高价与最低价做差,最高价与前一周期收盘价做差,最低价与前一周期收盘价作差,在上述三个数据中取绝对值最大者,对该最大值做N周期累加求和。。
HD := HIGH-REF(HIGH,1);//最高价与前一周期最高价做差
LD := REF(LOW,1)-LOW;//前一周期最低价与最低价做差
DMP:= SUM(IFELSE(HD>0 && HD>LD,HD,0),14);//如果HD>0并且HD>LD,取HD否则取0,对取值做N周期累加求和。
DMM:= SUM(IFELSE(LD>0 && LD>HD,LD,0),14);//如果LD>0并且LD>HD,取LD否则取0,对取值做N周期累加求和。
PDI: DMP*100/TR;
MDI: DMM*100/TR;
ADX: MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);//MDI与PDI差的绝对值与(MDI+PDI)*100做比值,取该比值的M个周期均值。
ADXR: (ADX+REF(ADX,6))/2;

DMI1:=ADX<70;

//定义K线
XYXCD:=MIN(O,C)-L;//下影线长度
KXST:=ABS(O-C);//K线实体长度
XX:=KXST<(H-L)*0.5;//星线实体
CXYX:=XYXCD>ATR*0.5;//长下影线

//双针探底形态
SZTDJA1:=CXYX AND XX;//当天星线有长下影线
SZTDJA2:=COUNT(CXYX AND XX,3)>1;//3个周期内满足SZTDJA1的个数大于1
SZTDJA3:=REF(C,1)<REF(MA20,1);//下跌趋势中
SZTD:=SZTDJA1 AND SZTDJA2 AND SZTDJA3;//双针探底

SZTD AND DMI1,BK(LOTS);//出现双针探底,并且ADX<70时,买入
BARSBK=1,SP(BKVOL);//一天后卖出

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关课程推荐
桥博士《MACD指标详解》
为什么我们只用MACD金叉死叉来进行操作效果并不好,学习课程就能在研究MACD指标上少走很多弯路
桥博士《K线形态组合解析》
从理论到实战,让您全面掌握各种K线形态及各种组合,帮您分析梳理大量K线知识让您的投资更游刃有余
桥博士《股票入门基础知识》
从理论到实战,课程包括如何买卖股票、开户流程、交易软件、k线图知识、技术指标、价值投资等新手必备知识

79

主题

445

帖子

1077

积分

金牌会员

Rank: 6Rank: 6

积分
1077
  • 官方论坛

    提供最新 Discuz! 产品新闻、软件下载与技术交流