DMA指标测试和代码版本汇总

[复制链接]
查看456 | 回复5 | 王博 | 2020-4-14 19:01:28 | 显示全部楼层 |阅读模式
DMA定义与测试

1)定义DMA的计算公式:
文字描述:表示周期长短不同的两根均线之间的差值
量化定义:
DMA=10日均线-50日均线
AMA=两条均线差值(DMA)的10日平均值

2) 定义测试的买卖逻辑:
A. 测试的买入条件:当白线(DMA)上穿黄线(AMA)形成金叉,则以当日收盘价买入
B. 测试的卖出条件:当白线(DMA)下穿黄线(AMA)形成死叉,则以当日收盘价卖出

3) 定义测试的品种和时间:
测试品种:上证指数
测试周期:2000-02-01 到 2020-01-31
回复

使用道具 举报

王博 | 2020-4-14 19:03:20 | 显示全部楼层
测试一代码

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

//定义DMA指标
DDD:MA(CLOSE,10)-MA(CLOSE,50);//短周期收盘价均值与长周期收盘价均值做差
AMA:MA(DDD,10);//M个周期的DDD均值

//定义买入卖出信号
DMAJC:=CROSSUP(DDD,AMA);//DMA指标金叉
DMASC:=CROSSDOWN(DDD,AMA);//DMA指标死叉

DMAJC,BK(LOTS);
DMASC,SP(BKVOL);
回复

使用道具 举报

王博 | 2020-4-14 19:05:47 | 显示全部楼层
测试二代码

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

//定义DMA指标
DDD:MA(CLOSE,10)-MA(CLOSE,50);//短周期收盘价均值与长周期收盘价均值做差
AMA:MA(DDD,10);//M个周期的DDD均值

//定义买入卖出信号
DMAJC:=CROSSUP(DDD,AMA) AND AMA>0;//DMA指标金叉,并且金叉位置在0轴之上
DMASC:=CROSSDOWN(DDD,AMA) AND AMA>0;//DMA指标死叉,并且死叉位置在0轴之上

DMAJC,BK(LOTS);
DMASC,SP(BKVOL);
回复

使用道具 举报

王博 | 2020-4-14 19:07:41 | 显示全部楼层
测试三代码

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

//定义DMA指标
DDD : MA(CLOSE,10)-MA(CLOSE,50);//短周期收盘价均值与长周期收盘价均值做差
AMA : MA(DDD,10);//M个周期的DDD均值

//定义买入卖出条件
DMAJC:=CROSSUP(DDD,AMA);//DMA指标金叉
DMASC:=CROSSDOWN(DDD,AMA);//DMA指标死叉
CJL:=VOL>MA(VOL,100);//定义放量

DMAJC AND CJL,BK(LOTS);
DMASC,SP(BKVOL);


回复

使用道具 举报

王博 | 2020-4-14 19:09:36 | 显示全部楼层
测试四代码

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

//定义SAR指标
STEP1:=2/100;
MVALUE1:=20/100;
SARLINE:=SAR(4,STEP1,MVALUE1);
IF(SARLINE>=0,SARLINE,NULL),COLORRED,CIRCLEDOT;
IF(SARLINE<0,ABS(SARLINE),NULL),COLORCYAN,CIRCLEDOT;

//定义SAR买卖信号
SARR1:=SARLINE>0;//SAR呈现红点
SARR2:=SARLINE<0;//SAR呈现绿点

//定义DMA指标
DDD:MA(CLOSE,10)-MA(CLOSE,50);//短周期收盘价均值与长周期收盘价均值做差
AMA:MA(DDD,10);//M个周期的DDD均值

//定义DMA买卖信号
DDD1:=DDD>0 AND AMA>0;//DMA指标的DDD值大于0,AMA值大于0

SARR1 AND DDD1,BK(LOTS);
SARR2,SP(BKVOL);

回复

使用道具 举报

王博 | 2020-4-14 19:14:06 | 显示全部楼层
测试五代码

//定义仓位
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的简单移动平均

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

//定义DMA指标
DDD:MA(CLOSE,10)-MA(CLOSE,50);//短周期收盘价均值与长周期收盘价均值做差
AMA:MA(DDD,10);//10个周期的DDD均值
DDD1:=AMA<0 AND DDD<0;

//定义k线
k线ST:=ABS(O-C);//k线实体长度
YXCD:=H-L;//k线影线长度
BT:=k线ST>YXCD*0.5;//棒体实体大于影线的0.5倍
XX:=k线ST<YXCD*0.5;//星线实体小于影线的0.5倍

//定义早晨之星
//1.定义第三天的上涨棒体
ZCZX1:=BT AND YXCD>0.5*ATR AND H=HHV(H,3);
//2.定义第二天的星线
ZCZX2:=REF(XX,1) AND REF(L,1)=LLV(L,3) AND REF(H,1)<REF(H,2);
//3.定义第一天的下跌棒体
ZCZX3:=REF(BT,2) AND REF(C,2)<REF(C,3) AND REF(YXCD,2)>0.5*ATR;
//4.定义下跌趋势
ZCZX4:=REF(C,2)<REF(MA20,2);

//定义早晨之星
ZCZX:=ZCZX1 AND ZCZX2 AND ZCZX3 AND ZCZX4;

ZCZX AND DDD1,BK(LOTS);//出现早晨之星买入
BARSBK=1,SP(BKVOL);//1日后卖出

回复

使用道具 举报

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

本版积分规则

媒体报道
反包测试
心怡反包测试
反包:今日K线H>昨日K线H 且今日K线L
如何抄在针尖上?
刘昱妗如何抄在针尖上?
如果有办法能让你抄在针尖上,你想不想学? 不需要复杂的指标,也不需要高深的技术,
交易模型测试库
宇晨交易模型测试库
目录 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
相关课程推荐
反包测试
反包:今日K线H>昨日K线H 且今日K线L
如何抄在针尖上?
如果有办法能让你抄在针尖上,你想不想学? 不需要复杂的指标,也不需要高深的技术,只要死磕这招盈亏比极
交易模型测试库
目录 1.MACD日线 2.海6日线3.海龟S1日线 4.海龟S2日线

83

主题

468

帖子

1189

积分

内部成员

Rank: 6Rank: 6

积分
1189
  • 官方论坛

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