唐奇安趋势系统测试和代码汇总

[复制链接]
查看797 | 回复8 | 王博 | 2020-4-26 11:31:27 | 显示全部楼层 |阅读模式
唐奇安趋势系统定义与测试

1)定义唐奇安做多系统:
文字描述1:25日移动平均线与350日移动平均线呈金叉状态
量化定义:EMA25>EMA350
文字描述2:最高价突破20日新高
量化定义:当日最高价=近20日(含当日)最高价
文字描述3:最低价突破10日新低
量化定义:当日最低价=近10日(含当日)最低价
文字描述4:收盘价低于买入价格2倍ATR时,止损
量化定义:收盘价<=买入价格-2*ATR时,止损

定义测试的买卖逻辑:
测试的买入条件:若25日均线在350日均线上方,并且最高价突破20日新高,以当日收盘价买入
测试的平仓条件:若最低价突破10日新低或收盘价低于买入价格2倍ATR,以当日收盘价平仓

2)定义唐奇安做空系统:
文字描述1:25日移动平均线与350日移动平均线呈死叉状态
量化定义:EMA25<EMA350
文字描述2:最低价突破20日新低
量化定义:当日最低价=近20日(含当日)最低价
文字描述3:最高价突破10日高点
量化定义:当日最高价=近10日(含当日)最高价
文字描述4:收盘价高于买入价格2倍ATR时,止损
量化定义:收盘价>=买入价格+2*ATR时,止损

定义测试的买卖逻辑:
测试的买入条件:若25日均线在350日均线下方,并且最低价突破20日新低,以当日收盘价买入
测试的平仓条件:若最高价突破10日新高或收盘价高于买入价格2倍ATR时,以当日收盘价平仓
相关阅读:《唐奇安趋势系统炒股原理,唐奇安趋势系统指标源码止损公式》
回复

使用道具 举报

王博 | 2020-4-26 11:42:38 | 显示全部楼层
测试一:
(1) 唐奇安做多系统

【测试代码】
//定义仓位
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);//求N个周期内的TR的简单移动平均

//定义指数移动平均线
EMA25:=EMA(C,25);
EMA350:=EMA(C,350);

//唐奇安系统入市策略
TQA1:=H=HHV(H,20);//突破20日高点
TQA2:=EMA25>EMA350;//呈金叉状态
TQARS:=TQA1 AND TQA2;
SG:HHV(H,20);//上轨
XG: LLV(L,20);//下轨

//唐奇安系统退出策略
TQA3:=L=LLV(L,10);//突破10日低点
TQA4:=BKVOL>0 AND CLOSE<=BKPRICE-2*ATR;//低于买入价2倍ATR,止损
TQATC:=TQA3 OR TQA4;

TQARS,BK(LOTS);
TQATC,SP(BKVOL);

回复

使用道具 举报

王博 | 2020-4-26 11:45:24 | 显示全部楼层
(2) 唐奇安做空系统

【测试代码】
//定义仓位
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);//求N个周期内的TR的简单移动平均

//定义指数移动平均线
EMA25:=EMA(C,25);
EMA350:=EMA(C,350);

//唐奇安系统入市策略
TQA1:=L=LLV(L,20);//突破20日最低价
TQA2:=EMA25<EMA350;//呈死叉状态
TQARS:=TQA1 AND TQA2;
SG:HHV(H,20);//上轨
XG: LLV(L,20);//下轨

//唐奇安系统退出策略
TQA3:=H=HHV(H,10);//突破10日高点
TQA4:=BKVOL>0 AND CLOSE>=BKPRICE+2*ATR;//高于卖出价2倍ATR,止损
TQATC:=TQA3 OR TQA4;

TQARS,BK(LOTS);
TQATC,SP(BKVOL);

回复

使用道具 举报

王博 | 2020-4-26 11:48:12 | 显示全部楼层
测试二:
(1) 唐奇安做多系统优化突破周期

【测试代码】
//定义仓位
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);//求N个周期内的TR的简单移动平均

//定义指数移动平均线
EMA25:=EMA(C,25);
EMA350:=EMA(C,350);

//唐奇安系统入市策略
TQA1:=H=HHV(H,N);//突破N日高点
TQA2:=EMA25>EMA350;//呈金叉状态
TQARS:=TQA1 AND TQA2;
SG:HHV(H,20);//上轨
XG: LLV(L,20);//下轨

//唐奇安系统退出策略
TQA3:=L=LLV(L,M);//突破M日低点
TQA4:=BKVOL>0 AND CLOSE<=BKPRICE-2*ATR;//低于买入价2倍ATR,止损
TQATC:=TQA3 OR TQA4;

TQARS,BK(LOTS);
TQATC,SP(BKVOL);

回复

使用道具 举报

王博 | 2020-4-26 11:52:43 | 显示全部楼层
(2) 唐奇安做空系统优化突破周期

【测试代码】
//定义仓位
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);//求N个周期内的TR的简单移动平均

//定义指数移动平均线
EMA25:=EMA(C,25);
EMA350:=EMA(C,350);

//唐奇安系统入市策略
TQA1:=L=LLV(L,N);//突破20日最低价
TQA2:=EMA25<EMA350;//呈死叉状态
TQARS:=TQA1 AND TQA2;
SG:HHV(H,20);//上轨
XG: LLV(L,20);//下轨

//唐奇安系统退出策略
TQA3:=H=HHV(H,M);//突破10日高点
TQA4:=BKVOL>0 AND CLOSE>=BKPRICE+2*ATR;//高于卖出价2倍ATR,止损
TQATC:=TQA3 OR TQA4;

TQARS,BK(LOTS);
TQATC,SP(BKVOL);

回复

使用道具 举报

王博 | 2020-4-26 11:54:58 | 显示全部楼层
测试三:
(1) 唐奇安做多系统+成交量

【测试结果】

//定义仓位
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);//求N个周期内的TR的简单移动平均

//定义指数移动平均线
EMA25:=EMA(C,25);
EMA350:=EMA(C,350);

//唐奇安系统入市策略
TQA1:=H=HHV(H,20);//突破20日高点
TQA2:=EMA25>EMA350;//呈金叉状态
CJL:=VOL>MA(VOL,50);//放量
TQARS:=TQA1 AND TQA2 AND CJL;
SG:HHV(H,20);//上轨
XG: LLV(L,20);//下轨

//唐奇安系统退出策略
TQA3:=L=LLV(L,10);//突破10日低点
TQA4:=BKVOL>0 AND CLOSE<=BKPRICE-2*ATR;//低于买入价2倍ATR,止损
TQATC:=TQA3 OR TQA4;

TQARS,BK(LOTS);
TQATC,SP(BKVOL);


回复

使用道具 举报

王博 | 2020-4-26 11:59:10 | 显示全部楼层
(2) 唐奇安做空系统+成交量

【测试结果】

//定义仓位
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);//求N个周期内的TR的简单移动平均

//定义指数移动平均线
EMA25:=EMA(C,25);
EMA350:=EMA(C,350);

//唐奇安系统入市策略
TQA1:=L=LLV(L,20);//突破20日最低价
TQA2:=EMA25<EMA350;//呈死叉状态
CJL:=VOL>MA(VOL,7);//放量
TQARS:=TQA1 AND TQA2 AND CJL;
SG:HHV(H,20);//上轨
XG: LLV(L,20);//下轨

//唐奇安系统退出策略
TQA3:=H=HHV(H,10);//突破10日高点
TQA4:=BKVOL>0 AND CLOSE>=BKPRICE+2*ATR;//高于卖出价2倍ATR,止损
TQATC:=TQA3 OR TQA4;

TQARS,BK(LOTS);
TQATC,SP(BKVOL);

回复

使用道具 举报

王博 | 2020-4-26 12:05:04 | 显示全部楼层
测试四:
(1) 唐奇安做多系统+ENE

【测试结果】

//定义仓位
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);//求N个周期内的TR的简单移动平均

//定义指数移动平均线
EMA25:=EMA(C,25);
EMA350:=EMA(C,350);

//定义ENE指标
UPPER: (1+6/100)*MA(CLOSE,25);
LOWER: (1-6/100)*MA(CLOSE,25);
ENE: (UPPER+LOWER)/2;
ENE1:=H<UPPER;

//唐奇安系统入市策略
TQA1:=H=HHV(H,20);//突破20日高点
TQA2:=EMA25>EMA350;//呈金叉状态
TQARS:=TQA1 AND TQA2 AND ENE1;
SG:HHV(H,20);//上轨
XG: LLV(L,20);//下轨

//唐奇安系统退出策略
TQA3:=L=LLV(L,10);//突破10日低点
TQA4:=BKVOL>0 AND CLOSE<=BKPRICE-2*ATR;//低于买入价2倍ATR,止损
TQATC:=TQA3 OR TQA4;

TQARS,BK(LOTS);
TQATC,SP(BKVOL);

回复

使用道具 举报

王博 | 2020-4-26 12:08:01 | 显示全部楼层
(2) 唐奇安做空系统+ENE

【测试结果】

//定义仓位
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);//求N个周期内的TR的简单移动平均

//定义指数移动平均线
EMA25:=EMA(C,25);
EMA350:=EMA(C,350);

//定义ENE指标
UPPER: (1+6/100)*MA(CLOSE,25);
LOWER: (1-6/100)*MA(CLOSE,25);
ENE: (UPPER+LOWER)/2;
ENE1:=L>LOWER;
ENE2:=CROSSUP(L,LOWER);

//唐奇安系统入市策略
TQA1:=L=LLV(L,20);//突破20日最低价
TQA2:=EMA25<EMA350;//呈死叉状态
TQARS:=TQA1 AND TQA2 AND ENE1;
SG:HHV(H,20);//上轨
XG: LLV(L,20);//下轨

//唐奇安系统退出策略
TQA3:=H=HHV(H,10);//突破10日高点
TQA4:=BKVOL>0 AND CLOSE>=BKPRICE+2*ATR;//高于卖出价2倍ATR,止损
TQATC:=TQA3 OR TQA4 OR ENE2;

TQARS,BK(LOTS);
TQATC,SP(BKVOL);

回复

使用道具 举报

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

本版积分规则

媒体报道
MGCA小组——记录一下,一起并肩作战的岁月
桥博士MGCA小组——记录一下,一起并肩作战的岁月
2024年暑假开始,到2026年寒假,才开始收尾,团队工作逐渐减少,短期内也不再扩招论文
智能量化交易策略的研究_郑泽涛-博士论文-电子科技大
桥博士智能量化交易策略的研究_郑泽涛-博士论文-电子科技大
投资组合管理(Portfolio Management,PM)是指通过投资策略、投资组合来有效管理大规模
72小时量化入门理论篇
刘昱妗72小时量化入门理论篇
72小时量化入门理论篇
世界上最赚钱的对冲基金是怎么炼成的?
admin世界上最赚钱的对冲基金是怎么炼成的?
如果问你,世界上最赚钱的对冲基金是谁?你可能会想到: 但答案可能出乎意料,是城堡
72小时量化入门实战篇
刘昱妗72小时量化入门实战篇
72小时量化入门实战篇
2026GAN论文
桥博士2026GAN论文
被引用最多的GAN论文 毫无疑问,头把交椅属于 Goodfellow 因为真是久仰大名如雷贯耳
大论文配图
刘昱妗大论文配图
大论文所有配图
论文撰写/整合智能体
刘昱妗论文撰写/整合智能体
相关课程推荐
K线形态组合解析
k线图基础知识怎么学? 报名宽论VA鱼识别课
没有人可以做万能交易者,但通过不断学习吸收知识从而有一套属于自己交易系统的人,就是走向了盈利的大道。
90%的时间在研究大盘指数,9.9元学习宽论VA
一买就跌,一卖就涨? 股市七亏二平一赚,怎样才能成为赚钱的10%? 看准大盘胜算过半,炒股新手也能掌握的V
  • 官方论坛

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