金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 1586|回复: 12

请教老师,我想写个跨周期的MACD模型

[复制链接]

6

主题

22

帖子

22

积分

Rank: 1

等级: 新手上路

注册:
2024-4-9
曾用名:
发表于 2025-4-9 11:40 | 显示全部楼层 |阅读模式
请教老师,我想写个跨周期的MACD模型
思路是:
日周期下MACD的DIFF>DEA,同时30分钟周期下MACD的DIFF>DEA,当同时1分钟周期下MACD的DIFF上穿DEA,开多单!
若持有多单时,当1分钟周期下MACD的DIFF死叉DEA,平多单!

日周期下MACD的DIFF<DEA,同时30分钟周期下MACD的DIFF<DEA,当同时1分钟周期下MACD的DIFF下穿DEA,开空单!
若持有空单时,当1分钟周期下MACD的DIFF金叉DEA,平空单!

同时记录资金曲线情况。

(主要是跨周期不会写,所以诚信请教老师,谢谢了!
回复

使用道具 举报

20

主题

260

帖子

345

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-18
曾用名:
发表于 2025-4-9 13:15 | 显示全部楼层
您的策略正在编写,请稍等
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-4-9 13:46 | 显示全部楼层
供参考:
[PEL] 复制代码
//macd1的值大于0 即表示diff>dea

//调用日线macd1
day_macd:stkindi('','macd.macd1',0,6,0);
//调用30分钟macd1
30min_macd:stkindi('','macd.macd1',0,4,0);
//调用1分钟macd1
//这里假设当前周期是1分钟,周期参数直接写-1
1min_macd:stkindi('','macd.macd1',0,-1,0);


kd:=day_macd>0 and 30min_macd>0 and cross(1min_macd,0);
kk:=day_macd<0 and 30min_macd<0 and cross(0,1min_macd);

pd:=cross(0,1min_macd);
pk:=cross(1min_macd,0);

ss:=2;


sell(pd,holding,market);
sellshort(pk,holding,market);
buy(kd and holding=0,ss,market);
buyshort(kk and holding=0,ss,market);

持仓:holding;
资产:asset;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

22

帖子

22

积分

Rank: 1

等级: 新手上路

注册:
2024-4-9
曾用名:
 楼主| 发表于 2025-4-9 16:04 | 显示全部楼层
技术009 发表于 2025-4-9 13:46
供参考:
[mw_shl_code=pel,true]
//macd1的值大于0 即表示diff>dea

没有资金曲线?
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值
直接加上这个对不对?老师

还有。切换1分钟/30分钟/日线看盘周期,对模型有什么影响?
回复

使用道具 举报

6

主题

22

帖子

22

积分

Rank: 1

等级: 新手上路

注册:
2024-4-9
曾用名:
 楼主| 发表于 2025-4-9 16:06 | 显示全部楼层
日线下只能看到右边一点测试,为什么呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-4-9 16:10 | 显示全部楼层
1.这个策略设计是按照你在1分钟周期上运行的。你要是切其他周期,那代码里某些调用就失效了。
你如果要切换其他周期,我建议你参考跨周期函数说明 调用部分跨周期调用的参数。
例如 你切到日线,那1分钟的那个调用,你就需要指定周期是1分钟,否则那个调用是按照加载的周期去引用的。

2.你在日线上。历史日期对应的小周期数据不足 就会出现这样的问题。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

22

帖子

22

积分

Rank: 1

等级: 新手上路

注册:
2024-4-9
曾用名:
 楼主| 发表于 2025-4-9 16:10 | 显示全部楼层
我实盘测试时,界面应该放在什么周期下看?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-4-9 16:15 | 显示全部楼层
请参考6楼的回复1:这段代码是设计在1分钟周期上使用的。


应用在什么周期和你策略本身思路设计也有关系。如果你调用的最小周期是5分钟,那这个策略就加载在5分钟,如果是在15分钟,那就加载到15分钟上。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

22

帖子

22

积分

Rank: 1

等级: 新手上路

注册:
2024-4-9
曾用名:
 楼主| 发表于 2025-4-9 16:22 | 显示全部楼层
谢谢!老师
回复

使用道具 举报

6

主题

22

帖子

22

积分

Rank: 1

等级: 新手上路

注册:
2024-4-9
曾用名:
 楼主| 发表于 2025-4-10 18:09 | 显示全部楼层
再请教一下老师!
我只保留判断条件为:日线MACD多头时,30分钟MAC金叉是开多单
日线MACD空头时,30分钟MAC死叉是开空单,

去掉了1分钟的金叉、死叉开单条件,
模型思路是:
日周期下MACD的DIFF>DEA,当同时30分钟周期下MACD的DIFF上穿DEA,开多单!
若持有多单时,当30分钟周期下MACD的DIFF死叉DEA,平多单!

日周期下MACD的DIFF<DEA,当同时30分钟周期下MACD的DIFF下穿DEA,开空单!
若持有空单时,当30分钟周期下MACD的DIFF金叉DEA,平空单!

而测试时放在1分钟周期下看,为什么收益率会提高很多?请教!谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-7-11 20:37 , Processed in 0.116182 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表