金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4178|回复: 4

模块化编程在同一公式中多次使用时返回值错误

[复制链接]

32

主题

157

帖子

157

积分

等级: 免费版

注册:
2021-6-17
曾用名:
发表于 2022-10-7 15:48 | 显示全部楼层 |阅读模式
模块化编程在同一公式中多次传入不同参数时,只在第一次传入参数时值正确,其余值全部返回错误值,原公式:macdyy
input:s(12,5,40,4),P(26,20,100,8),M(9,2,60,6);
//
DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  : EMA(DIFF,M);
MACD : 2*(DIFF-DEA), COLORSTICK;

模块化引用的公式如下 macddzq
//模块化参数1
sdea:#MACD.dea(48,104,9)#;
sdiff:#MACD.diff(48,104,9)#;
smacd:=#MACD.macd(48,104,9)#;

//模块化参数2
ssdea:#MACD.dea(84,182,9)#;
ssdiff:#MACD.diff(84,182,9)#;
ssmacd:=#MACD.macd(84,182,9)#;

模块化参数2返回错误值,其值与参数1的值完全相同



回复

使用道具 举报

32

主题

157

帖子

157

积分

等级: 免费版

注册:
2021-6-17
曾用名:
 楼主| 发表于 2022-10-7 15:57 | 显示全部楼层
sdea:#MACDYY.dea(48,104,9)#;
sdiff:#MACDYY.diff(48,104,9)#;
smacd:=#MACDYY.macd(48,104,9)#;

//模块化参数2
ssdea:#MACDYY.dea(84,182,9)#;
ssdiff:#MACDYY.diff(84,182,9)#;
ssmacd:=#MACDYY.macd(84,182,9)#;
回复

使用道具 举报

1

主题

1087

帖子

1097

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-10-7 22:09 | 显示全部楼层
不太懂你的描述,你的意思是
sdea:#MACDYY.dea(48,104,9)#;
sdiff:#MACDYY.diff(48,104,9)#;
smacd:=#MACDYY.macd(48,104,9)#;

//模块化参数2
ssdea:#MACDYY.dea(84,182,9)#;
ssdiff:#MACDYY.diff(84,182,9)#;
ssmacd:=#MACDYY.macd(84,182,9)#;


上面的这个公式返回值不一样?我看了参数也都不同,怎么会返回值一样?
回复

使用道具 举报

1

主题

1087

帖子

1097

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-10-7 22:55 | 显示全部楼层
我大致看到问题,你是参数的调用设置已经超过了你公式上允许的最大值了
回复

使用道具 举报

32

主题

157

帖子

157

积分

等级: 免费版

注册:
2021-6-17
曾用名:
 楼主| 发表于 2022-10-9 10:07 | 显示全部楼层
技术015 发表于 2022-10-7 22:55
我大致看到问题,你是参数的调用设置已经超过了你公式上允许的最大值了

谢谢,还真是你说的问题,模块化的引用公式参数上下限传递到模块中来了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-3 15:35 , Processed in 0.104237 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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