金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 6736|回复: 17

1分钟调用上证指数月线MACD得到的值跟月线MACD得到DIFF的值根本不一样, 为何?

[复制链接]

52

主题

161

帖子

161

积分

Rank: 2

等级: 标准版

注册:
2021-6-15
曾用名:
发表于 2022-1-8 15:01 | 显示全部楼层 |阅读模式
在上证指数月线下2010年9月30日左右 DIFF大概在-62 左右, 但是我在一分钟下面调用 DIFFMON:="MACD.DIFF##MONTH"; 所得到的数值竟然是83左右。  因为像月线DIFF和周线DIFF基本上都已经是固定历史数值,只要参数一样无论大智慧同花顺文华财经都是这个数值, 在一分钟下面调用也是大概这个数值, 为什么偏偏金字塔数值缺不一样, 难道有解释成起始时间不一样?? 因为我专门在图表程序化月线和周线都补充过数值也是得到正确的数值的, 但是到了1分钟却得不到正确数值, 这是为何?
回复

使用道具 举报

37

主题

9879

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-1-8 15:06 | 显示全部楼层
就是数据量不同造成的。macd钟的ema是递归算法。对数据量是比较敏感的。
你可以使用stkindiex指定使用全部的数据量
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

52

主题

161

帖子

161

积分

Rank: 2

等级: 标准版

注册:
2021-6-15
曾用名:
 楼主| 发表于 2022-1-8 15:23 | 显示全部楼层
你说相差20-30 我都能接受, 但是你不可能相差那么大麻! 以前使用文华财经绝对不可能犯这么低级的错误。
回复

使用道具 举报

37

主题

9879

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-1-8 15:38 | 显示全部楼层
本帖最后由 技术006 于 2022-1-8 15:42 编辑

再保证日线数据没有缺失的情况下,理论上讲ema函数哪怕差一根k结果都可能不同。
用stkindiex函数,指定引用的数量。因为用的是日线,完全可以全部引用。这样即使和图表对比。只要图表中的日线周期全部加载上就是一致的。
这种函数的算法,无论哪家软件都会存在这种问题。除非他们内部严格控制了使用数量。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

52

主题

161

帖子

161

积分

Rank: 2

等级: 标准版

注册:
2021-6-15
曾用名:
 楼主| 发表于 2022-1-8 22:56 | 显示全部楼层
stkindiex如何指定使用全部的数据量?
回复

使用道具 举报

37

主题

9879

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-1-8 23:05 | 显示全部楼层
指定一个比较大的数值。例如10000   足够调取全部的日线合成月线数据了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

52

主题

161

帖子

161

积分

Rank: 2

等级: 标准版

注册:
2021-6-15
曾用名:
 楼主| 发表于 2022-1-9 06:00 | 显示全部楼层
听不明白你说的是什么意思,  如果我在一分钟调用上证指数的月线数据, 上证指数月线从2003年开始到现在为止 也就大概20年*12个月  20*12=264, 那我直接DIFFMON:=STKINDIEX('','MACD.DIFF',0,8,-1,300),NODRAW; 就可以啦。  
如果我在一分钟调用上证指数周线数据,上证指数月线从2003年开始到现在为止 也就大概20年*50周  20*50=1000, 那我直接DIFFMON:=STKINDIEX('','MACD.DIFF',0,8,-1,1200),NODRAW; 就可以啦。
为什么要这么大的数据10000   足够调取全部的日线合成月线数据?
回复

使用道具 举报

37

主题

9879

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-1-9 07:36 | 显示全部楼层
这随便你。只要能保证调用全部的数据就行
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

52

主题

161

帖子

161

积分

Rank: 2

等级: 标准版

注册:
2021-6-15
曾用名:
 楼主| 发表于 2022-1-9 09:17 | 显示全部楼层
终于找到原因了! 根本就不是你所说的。 以下三句在一分钟所得到的数值完全一模一样!
DIFFMON1:STKINDIEX('','MACDV.DIFF',0,8,-1,300),NODRAW;
DIFFMON2:STKINDIEX('','MACDV.DIFF',0,8,-1,5000),NODRAW;
DIFFMON:="MACD.DIFF##MONTH";
你看看下图,主要是你的数据根本就不正确, 09年6月份上证1分钟K线的DIFFMON怎么计算都不可能-830那么厉害! 你自己可以比较一下。 无标题.jpg
回复

使用道具 举报

37

主题

9879

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-1-9 12:13 | 显示全部楼层
本帖最后由 技术006 于 2022-1-11 21:27 编辑

1.我们提供的1分钟周期是从10年之后开始的。你这个数据是外部导入的?
2.你图中输出的变量是DIFFMON和DIFFMON1 。和贴出的代码根本不是一套(贴出的代码的可显示的变量是DIFFMON1和DIFFMON2)是不是修改后没有编译加载?
3.你说的-800多,要么是日线有问题,要么是数据有缺失(你自己可以查下日线或者直接打开月线对比下数据)。下面是我本地再日线上引用的结果。
4.你引用的结果时一样的原因是,同一个公式中多次引用另个公式中同一个变量等同于一次,直接按照第一次执行的结果进行复用(有助于提高效率)。所以你上面的代码指定5000个是无效的,实际上都是按照300根月线处理的。如下图所示:
截图202201091202056489.png
这个图是200根月线的结果。和上图中300根的结果。差异就是起始位置不同。stkindi同理,这个函数调用的数量受当前k线数量等因素影响而已。

截图202201091213185874.png



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 03:39 , Processed in 0.085622 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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