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

看大盘买个股测试代码

[复制链接]
查看76 | 回复6 | 张孟珂 | 2020-5-14 00:33:07 | 显示全部楼层 |阅读模式
看大盘买个股测试:
1)调用上证指数的海龟交易系统去对“沪深300-8字结尾”的60只股票,做组合回测;

2)调用上证指数的海龟交易系统去对换手在前15名的股票,进行组合回测,且每只股票的仓位为动态权益的40%;
3)对第二个测试中的15只股票进行组合回测,且每只股票的仓位是动态权益的80%;
回复

使用道具 举报

张孟珂 | 2020-5-14 00:33:51 | 显示全部楼层
//海龟系统之调用上证相关数据
CC:=C;
HH:=H;
LL:=L;
//一、计算ATR
TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR := MA(TR,20);

将该楼层的代码复制,另存为海龟系统之调用上证相关数据
如下图所示:

微信图片_20200515182234.png

回复

使用道具 举报

张孟珂 | 2020-5-14 00:36:04 | 显示全部楼层
//海龟20日55日股票组测试//海龟交易系统20日+55日突破,过滤开仓信号+止损

#CALL [999001,海龟系统之调用上证相关数据]AS VAR1     // 调用上证指数数据
#CALL [999001,海龟系统之调用上证相关数据]AS VAR2
#CALL [999001,海龟系统之调用上证相关数据]AS VAR3
#CALL [999001,海龟系统之调用上证相关数据]AS VAR4
C1 := VAR1.CC;//上证收盘价
H1 := VAR2.HH;//上证最高价
L1 := VAR3.LL;//上证最低价
ATR := VAR4.ATR;//上证ATR
//一、计算 个股的 ATR
TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
GGATR : MA(TR,20);
//二、定义高点低点、突破高点低点
H20 := HV(H1, 20);//20日高点
L20 := LV(L1, 20);//20日低点
H10 := HV(H1, 10);//10日高点
L10 := LV(L1, 10);//10日低点
H55 := HV(H1, 55);//55日高点
TPH20 := CROSSUP(C1, H20);
TPH10 := CROSSUP(C1, H10);
DPL20 := CROSSDOWN(L1, L20);
DPL10 := CROSSDOWN(L1, L10);
TPH55 := CROSSUP(C1, H55);
DRAWTEXT(TPH20 ,H ,'20高'), VALIGN2, FONTSIZE20, COLORWHITE;
DRAWTEXT(DPL10 ,L ,'10低'), VALIGN2, FONTSIZE20, COLORWHITE;
DRAWTEXT(TPH55 ,H+60 ,'55高'), VALIGN2, FONTSIZE20, COLORWHITE;
DRAWTEXT(DPL20 ,L-60 ,'20低'), VALIGN2, FONTSIZE20, COLORWHITE;
//三、记录上突破、下跌破次数
TPH20CS := COUNT(TPH20, 0);//记录向上突破20日的次数
DPL10CS := COUNT(DPL10, 0);//记录向下跌破10日的次数
DPL20CS := COUNT(DPL20, 0);
DPL10CSS := IF(TPH20, DPL10CS, REF(DPL10CS, BARSLAST(TPH20)));//判断这次突破20日和上次突破20日之间是否有跌破10日低点
TPH20CSS := IF(DPL10, TPH20CS, REF(TPH20CS, BARSLAST(DPL10)));//判断这次跌破10日和上次跌破10日之间是否有突破20日高点
DPL20CSS := IF(TPH55, DPL20CS, REF(DPL20CS, BARSLAST(TPH55)));//判断这次突破55日和上次突破55日之间是否有跌破20日低点
//四、记录符合条件的位置上的收盘价
//1、记录符合平仓条件位置上的收盘价
//如果当前是跌破10日低点,且上次突破20日高点之后没有跌破10日低点,就记录下当前的收盘价
PC := IF(DPL10 AND COUNT(DPL10, BARSLAST(TPH20))=1, C1, REF(C1, BARSLAST(DPL10 AND COUNT(DPL10, BARSLAST(TPH20))=1)));
//2、记录符合开仓条件位置上的收盘价
//如果当前是突破20日高点,同时和上一次突破20日高点之间有发生跌破,则记录当前的收盘价 //DPL10CS>DPL10CSS
KC := IF(TPH20 AND DPL10CS>REF(DPL10CSS, 1), C1, REF(C1, BARSLAST(TPH20 AND DPL10CS>REF(DPL10CSS, 1))));
KC5 := IF(TPH55 AND DPL20CS>REF(DPL20CSS, 1), C1, REF(C1, BARSLAST(TPH55 AND DPL20CS>REF(DPL20CSS, 1))));
//定义20日突破的止损平仓条件
ZSJ := KC-2*ATR;
ZS55 := CROSSDOWN(L1, KC5-2*ATR);
//定义个股的止损平仓价
GGZSJ : BKPRICE-2*GGATR;
DRAWICON(CROSSDOWN(L, GGZSJ) ,H ,'IC01');
//五、判断上次符合开仓平仓条件下,如果开仓,是否是盈利的
YK := IF((PC-KC)>0, 1, -1);
//六、定义开平仓条件
//1、定义20日开仓条件
ZDXH20 := TPH20 AND DPL10CS>REF(DPL10CSS, 1) AND REF(YK, 1)<0;
//2、定义20日平仓条件
PDXH20 := DPL10 && COUNT(DPL10, BARSLAST(TPH20 AND DPL10CS>REF(DPL10CSS, 1) AND REF(YK, 1)<0))=1 && L1<L10 && L1>L20;
//3、定义55日开仓条件
ZDXH55 := TPH55;
//4、定义55日平仓条件
PDXH55 := BKVOL>0 && DPL20;
//定义止损平仓条件
ZSPD := BKVOL>0 && CROSSDOWN(C1, ZSJ);//上证的止损平仓条件
GGZS := BKVOL>0 && CROSSDOWN(C, GGZSJ);//个股的止损平仓条件
//七、定义仓位
LOTS := INTPART(MONEYTOT*N1 / C /100)*100;
LOTS1 := INTPART(MONEYTOT*N1 / C /100)*100;
//八、定义开平仓逻辑
//1、开仓信号
ZDXH20 && H20<>H55, BK(LOTS);
//判断上一次开仓是突破20日开的仓位还是突破55日开的仓位
//如果是根据突破20日开的仓位,就把仓位记录下来
LOT20 := IF(ZDXH20 && H20<>H55, LOTS, REF(LOTS, BARSLAST(ZDXH20 && H20<>H55)));
ZDXH55 && H20<>H55, BK(LOTS1);//只突破55日高点
ZDXH20 && ZDXH55, BK(2*LOTS);//突破突破20日和55日
ZDXH55 && H20=H55, BK(LOTS1);//突破55日
//个股的止损平仓条件
GGZS, SP(BKVOL);
//2、止损平仓
ZS55, SP(BKVOL);
ZSPD, SP(LOT20);
ZSPD AND L1>(KC5-2*ATR), SP(BKVOL/2);
//3、平仓信号
PDXH20, SP(LOT20);
DPL10 && L1>L20 && COUNT(DPL10, BARSLAST(ZDXH20 && ZDXH55))=1, SP(BKVOL/2);
PDXH55, SP(BKVOL);


回复

使用道具 举报

春江 | 2020-5-14 13:59:03 | 显示全部楼层
#CALL [999001,海龟系统之调用上证相关数据]AS VAR1     // 调用上证指数数据
#CALL [999001,海龟系统之调用上证相关数据]AS VAR2
#CALL [999001,海龟系统之调用上证相关数据]AS VAR3
#CALL [999001,海龟系统之调用上证相关数据]AS VAR4

这一部分代码在哪里找到?
回复

使用道具 举报

西瓜 | 2020-5-15 17:30:58 | 显示全部楼层
但数据是亏的?

1589534821(1).png
1589534821(1).png
回复

使用道具 举报

     是吧沙发和板凳两部分合起来,才能测试?公式语句测试出现,“#CALL语句不能引用模型本身!啥意思?
回复

使用道具 举报

沙发和板凳两部分代码要分开做测试,存放沙发部分代码的时候,命名要按照指示的去取名
回复

使用道具 举报

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

本版积分规则

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

35

主题

193

帖子

577

积分

高级会员

Rank: 4

积分
577
  • 官方论坛

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