阳包阴k线组合形态测试和代码版本汇总

[复制链接]
查看1899 | 回复6 | 张孟珂 | 2020-4-7 14:41:49 | 显示全部楼层 |阅读模式
的形态特征

1) 定义

A. 形态条件1
文字描述:第二根大k线;
量化定义:第二根大k线长度>1*ATR;
(为什么用ATR:《ATR的正确使用方法-动态度量衡》)
B. 形态条件2
文字描述:前一根k线是中k线,且不是十字星k线;
量化定义:REF(k线CD, 1) > 0.5 * REF(ATR, 1) AND REF(NOT(上证X), 1)=1;
C. 形态条件3
文字描述:前一根k线是阴线,当前k线是阳线;
量化定义:REF(ISDOWN,1) && ISUP;
D. 形态条件4
文字描述:第二根k线的实体覆盖第一根k线的实体;
量化定义:C>REF(O,1) && O<REF(C,1);

2) 定义测试的买卖逻辑:
A. 测试的买入条件:出现阳包阴形态,以收盘价买入;
B. 测试的卖出条件:买入后第二天,以收盘价卖出;

回复

使用道具 举报

张孟珂 | 2020-4-7 14:42:40 | 显示全部楼层
测试一【阴基础测试
【测试逻辑】
A. 测试的买入条件:出现阳形态,以收盘价买入;
B. 测试的卖出条件:买入后第二天,以收盘价卖出;

【测试代码】
【N1,N2】=【1,0.5】
//一、定义仓位
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数
//定义ATR
TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值
ATR:MA(TR,N);//求N个周期内的TR的简单移动平均
//定义k线长度
k线CD := ABS(H - L);
//定义十字星 K 线
k线ST : ABS(O - C);//k线实体长度
收益XCD := H - MAX(O, C);//上影线长度
XYXCD := MIN(O, C) - L;//下影线长度
上证XST := k线ST < ATR*0.1;//十字星的实体
上证X := 上证XST AND 收益XCD>0 AND XYXCD>0;//十字星定义
//定义阳包阴形态
//1.定义前一根中k线
REF_YIN := REF(k线CD, 1) > N2*REF(ATR, 1) AND REF(NOT(上证X), 1)=1;
//2. 定义当前大k线
YANG := k线CD > N1*ATR;
//3. 定义当前大k线包住前一根中k线
YANG_BAO_YIN := REF(ISDOWN, 1) && ISUP && C>REF(O, 1) && O<REF(C, 1);
//4. 定义阳包阴形态
YBYIN := REF_YIN && YANG && YANG_BAO_YIN;
//执行交易
YBYIN,BK(LOTS);//满足k线形态,开仓做多
BKVOL>0,SP(BKVOL);//第二天平仓



回复

使用道具 举报

张孟珂 | 2020-4-7 14:44:42 | 显示全部楼层
测试二【使用上涨趋势过滤】
【测试逻辑】
A. 测试的买入条件:上涨趋势中出现阳包阴形态,以收盘价买入;
B. 测试的卖出条件:买入后第二天,以收盘价卖出;

【测试代码】
【N1,N2】=【1,0.5】
//一、定义仓位
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数
//定义ATR
TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值
ATR:MA(TR,N);//求N个周期内的TR的简单移动平均
//定义趋势
//1、定义上涨趋势
上证QS:=C>MA(C,20);
//定义k线长度
k线CD := ABS(H - L);
//定义十字星 K 线
k线ST : ABS(O - C);//k线实体长度
收益XCD := H - MAX(O, C);//上影线长度
XYXCD := MIN(O, C) - L;//下影线长度
上证XST := k线ST < ATR*0.1;//十字星的实体
上证X := 上证XST AND 收益XCD>0 AND XYXCD>0;//十字星定义
//定义阳包阴形态
//1.定义前一根中k线
REF_YIN := REF(k线CD, 1) > N2*REF(ATR, 1) AND REF(NOT(上证X), 1)=1;
//2. 定义当前大k线
YANG := k线CD > N1*ATR;
//3. 定义当前大k线包住前一根中k线
YANG_BAO_YIN := REF(ISDOWN, 1) && ISUP && C>REF(O, 1) && O<REF(C, 1);
//4. 定义阳包阴形态
YBYIN_JX上证:=上证QS && YANG && YANG_BAO_YIN;//均线上涨趋势过滤下的阳包阴形态
//执行交易

YBYIN_JX上证,BK(LOTS);//满足k线形态,开仓做多
BKVOL>0,SP(BKVOL);//第二天平仓


回复

使用道具 举报

张孟珂 | 2020-4-7 14:45:52 | 显示全部楼层
测试三【使用下跌趋势过滤】
【测试逻辑】
A. 测试的买入条件:下跌趋势中出现阳包阴形态,以收盘价买入;
B. 测试的卖出条件:买入后第二天,以收盘价卖出;

【测试代码】
【N1,N2】=【1,0.5】
//一、定义仓位
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数
//定义ATR
TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值
ATR:MA(TR,N);//求N个周期内的TR的简单移动平均
//定义下跌趋势
XDQS:=C<MA(C,20);

//定义k线长度
k线CD := ABS(H - L);
//定义十字星 K 线
k线ST : ABS(O - C);//k线实体长度
收益XCD := H - MAX(O, C);//上影线长度
XYXCD := MIN(O, C) - L;//下影线长度
上证XST := k线ST < ATR*0.1;//十字星的实体
上证X := 上证XST AND 收益XCD>0 AND XYXCD>0;//十字星定义
//定义阳包阴形态
//1.定义前一根中k线
REF_YIN := REF(k线CD, 1) > N2*REF(ATR, 1) AND REF(NOT(上证X), 1)=1;
//2. 定义当前大k线
YANG := k线CD > N1*ATR;
//3. 定义当前大k线包住前一根中k线
YANG_BAO_YIN := REF(ISDOWN, 1) && ISUP && C>REF(O, 1) && O<REF(C, 1);

//4. 定义阳包阴形态
YBYIN_JXXD:=XDQS && YANG && YANG_BAO_YIN;//均线下跌趋势过滤下的阳包阴形态
//执行交易

YBYIN_JXXD,BK(LOTS);//满足k线形态,开仓做多
BKVOL>0,SP(BKVOL);//第二天平仓


回复

使用道具 举报

张孟珂 | 2020-4-7 14:47:20 | 显示全部楼层
测试四【和MACD指标组合】
【测试逻辑】
A. 测试的买入条件:出现阳包阴形态时,且MACD指标金叉,以收盘价买入;
B. 测试的卖出条件:买入后第二天,以收盘价卖出;

【测试代码】【N1,N2】=【1,0.5】

//一、定义仓位
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数
//定义ATR
TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值
ATR:MA(TR,N);//求N个周期内的TR的简单移动平均
//定义MACD指标
DIFF : EMA(CLOSE, 12) - EMA(CLOSE, 26);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA  : EMA(DIFF, 9);//DIFF的M个周期指数平滑移动平均
2*(DIFF-DEA), COLORSTICK;//DIFF减DEA的2倍画柱状线

//定义k线长度

k线CD := ABS(H - L);
//定义十字星 K 线
k线ST : ABS(O - C);//k线实体长度
收益XCD := H - MAX(O, C);//上影线长度
XYXCD := MIN(O, C) - L;//下影线长度
上证XST := k线ST < ATR*0.1;//十字星的实体
上证X := 上证XST AND 收益XCD>0 AND XYXCD>0;//十字星定义
//定义阳包阴形态
//1.定义前一根中k线
REF_YIN := REF(k线CD, 1) > N2*REF(ATR, 1) AND REF(NOT(上证X), 1)=1;
//2. 定义当前大k线
YANG := k线CD > N1*ATR;
//3. 定义当前大k线包住前一根中k线
YANG_BAO_YIN := REF(ISDOWN, 1) && ISUP && C>REF(O, 1) && O<REF(C, 1);

//4. 定义阳包阴形态
YBYIN := REF_YIN && YANG && YANG_BAO_YIN;
//执行交易
YBYIN && DIFF>DEA,BK(LOTS);//阳包阴形态+MACD指标金叉状态,开仓做多
BKVOL>0,SP(BKVOL);//第二天平仓


回复

使用道具 举报

peter | 2020-4-29 23:50:06 | 显示全部楼层
按照阳包阴来定义今天开线:
//一、定义仓位
FUND:=10000000; //资金
LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数
//定义ATR
TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值
ATR:MA(TR,26);//求N个周期内的TR的简单移动平均
//定义k线实体
k线ST:=ABS(O-C);
//定义阳包阴形态
//1.定义当前大阳线
YANG:=k线ST>0.5*ATR;
//2. 定义当前大阳线包住前一根小阴线
YANG_BAO_YIN:= REF(ISDOWN,1) && ISUP && C>REF(O,1) && O<REF(C,1);
//3.定义阳包阴形态
YBYIN:=YANG && YANG_BAO_YIN;//阳包阴形态
//执行交易
YBYIN,BK(LOTS);//满足k线形态,开仓做多
BKVOL>0,SP(BKVOL);//第二天平仓


今天k线满足要求

4.29-1.png
资金曲线:
4.29-2.png
结论:
交易次数:193次
胜率:57.51%
盈亏比:1.22
总收益:40%
夏普比率:3.48
明天看涨
回复

使用道具 举报

admin | 2024-11-13 19:40:38 | 显示全部楼层
学习
回复

使用道具 举报

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

本版积分规则

媒体报道
如何抄在针尖上?
刘昱妗如何抄在针尖上?
如果有办法能让你抄在针尖上,你想不想学? 不需要复杂的指标,也不需要高深的技术,
交易模型测试库
宇晨交易模型测试库
目录 1.MACD日线 2.海6日线3.海龟S1日线 4.海龟S2日线
关于调delta的研究
刘昱妗关于调delta的研究
调备兑时间点 早晨9点,下午14:30,晚上21点 12.9 夜盘调delta 纸浆成交量为0 delta
文华各分区测试
宇晨文华各分区测试
////一楼////
test1
admintest1
test1
test1
admintest1
test1
交易SOP
刘昱妗交易SOP
日常任务及流程【金山文档 | WPS云文档】 交易sop https://www.kdocs.cn/l/cvXFT8HZDO
2025.12.1宽论解盘日报
dudu2025.12.1宽论解盘日报
大家好,欢迎来到宽论解盘。今天我们来用宽论的角度,一起解读上证指数近期的走势和
相关课程推荐
如何抄在针尖上?
如果有办法能让你抄在针尖上,你想不想学? 不需要复杂的指标,也不需要高深的技术,只要死磕这招盈亏比极
交易模型测试库
目录 1.MACD日线 2.海6日线3.海龟S1日线 4.海龟S2日线
关于调delta的研究
调备兑时间点 早晨9点,下午14:30,晚上21点 12.9 夜盘调delta 纸浆成交量为0 delta极小 此时期权的delta

43

主题

235

帖子

799

积分

宽论高级会员

Rank: 4

积分
799
  • 官方论坛

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