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

连续十字星K线形态测试和代码版本汇总

[复制链接]
查看113 | 回复4 | 王博 | 2020-4-7 23:35:19 | 显示全部楼层 |阅读模式
1) 定义连续十字星的具体形态
形态条件1:首先定义十字星K线
量化定义:K线实体<0.1倍ATR,上影线>0,下影线>0
形态条件2:条件1中的十字星连续出现2根
量化定义:当天是十字星,前一天也是十字星

2) 测试买卖条件
买入条件:连续十字星第二根K线处,买入
卖出条件:买入后的第二天收盘前,卖出
回复

使用道具 举报

王博 | 2020-4-7 23:37:24 | 显示全部楼层
测试一代码:

//定义仓位
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个值中的最大值为ATR
ATR:=MA(TR,26);//求26个周期内的TR的简单移动平均

//定义K线
KXST:=ABS(O-C);//K线实体长度
SYXCD:=H-MAX(O,C);//上影线长度
XYXCD:=MIN(O,C)-L;//下影线长度
SZXST:=KXST<ATR*0.1;//十字星的实体
SZX:=SZXST AND SYXCD>0 AND XYXCD>0;//十字星定义

//定义连续十字星
LXSZX1:=SZX;
LXSZX2:=REF(SZX,1);
LXSZX:=LXSZX1 AND LXSZX2;

LXSZX,BK(LOTS);//出现双连星,买入
BARSBK=1,SP(BKVOL);//1天后,卖出
回复

使用道具 举报

王博 | 2020-4-7 23:38: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));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,取这3个值中的最大值为ATR
ATR:=MA(TR,26);//求26个周期内的TR的简单移动平均

//均线
MA10:MA(C,10);

//定义K线
KXST:=ABS(O-C);//K线实体长度
SYXCD:=H-MAX(O,C);//上影线长度
XYXCD:=MIN(O,C)-L;//下影线长度
SZXST:=KXST<ATR*0.1;//十字星的实体
SZX:=SZXST AND SYXCD>0 AND XYXCD>0;//十字星定义

//定义连续十字星
LXSZX1:=SZX;
LXSZX2:=REF(SZX,1);
LXSZX3:=REF(C,1)<REF(MA10,2);//定义下跌趋势
LXSZX:=LXSZX1 AND LXSZX2 AND LXSZX3;

LXSZX,BK(LOTS);//出现双连星,买入
BARSBK=1,SP(BKVOL);//1天后,卖出
回复

使用道具 举报

王博 | 2020-4-7 23:42:59 | 显示全部楼层
测试三代码:

//定义仓位
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个值中的最大值为ATR
ATR:=MA(TR,26);//求26个周期内的TR的简单移动平均

//定义K线
KXST:=ABS(O-C);
SYXCD:=H-MAX(O,C);//上影线长度
XYXCD:=MIN(O,C)-L;//下影线长度
SZXST:=KXST<ATR*0.1;//十字星的实体
SZX:=SZXST AND SYXCD>0 AND XYXCD>0;//十字星定义

//定义连续十字星
LXSZX1:=SZX;
LXSZX2:=REF(SZX,1);
LXSZX:=LXSZX1 AND LXSZX2;

LXSZX,BK(LOTS);//出现双连星,买入
BARSBK=2,SP(BKVOL);//2天后,卖出

回复

使用道具 举报

王博 | 2020-4-7 23:46:41 | 显示全部楼层
测试四代码:

//定义仓位
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个值中的最大值为ATR
ATR:=MA(TR,26);//求26个周期内的TR的简单移动平均

//定义DMI指标
TR := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),14);//14个周期内波幅的总和
HD := HIGH-REF(HIGH,1);//最高价与前一周期最高价做差
LD := REF(LOW,1)-LOW;//前一周期最低价与最低价做差
DMP:= SUM(IFELSE(HD>0 && HD>LD,HD,0),14);//把14个周期内所有大于低点差的高点差值累加
DMM:= SUM(IFELSE(LD>0 && LD>HD,LD,0),14);//把14个周期内所有大于高点差的低点差值累加
PDI: DMP*100/TR;//把高点累加差值限定在0-100之间
MDI: DMM*100/TR;//把低点累加差值限定在0-100之间
ADX: MA(ABS(MDI-PDI)/(MDI+PDI)*100,6);//多空双方力量悬殊的程度:ADX值趋向0,双方趋向势均力敌。ADX值趋向100,某一方实力更强
ADXR: (ADX+REF(ADX,6))/2;

DMI:=ADX>50;

//定义K线
KXST:=ABS(O-C);//K线实体长度
SYXCD:=H-MAX(O,C);//上影线长度
XYXCD:=MIN(O,C)-L;//下影线长度
SZXST:=KXST<ATR*0.1;//十字星的实体
SZX:=SZXST AND SYXCD>0 AND XYXCD>0;//十字星定义

//定义连续十字星
LXSZX1:=SZX;
LXSZX2:=REF(SZX,1);
LXSZX:=LXSZX1 AND LXSZX2;

LXSZX AND ADX>50,BK(LOTS);//出现双连星,并且ADX>50时,买入
BARSBK=1,SP(BKVOL);//1天后,卖出

回复

使用道具 举报

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

本版积分规则

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

79

主题

446

帖子

1081

积分

金牌会员

Rank: 6Rank: 6

积分
1081
  • 官方论坛

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