Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共22 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:ref1的值还会变吗

1楼
yesdgn 发表于:2020/6/30 8:59:04
比如:
A:ref(B,1);
一分钟周期,在9:03:05用VBA运行这个公式,  这个A的值是1, 但是在16:00在副图看9:04周期这个A的值有可能变成了0.
这会是什么原因?而且从9:03:05到9:03:59这个A一直是1.
2楼
wenarm 发表于:2020/6/30 9:02:14
不知道,这个要看你的B是这么计算的了。
3楼
FireScript 发表于:2020/6/30 9:07:26
建议你本地观察下B的值是否也是有变化的。 这个和ref本身没多大关系,要看B是怎么计算的了。
4楼
yesdgn 发表于:2020/6/30 9:18:38
不管B是怎么计算的  我是ref 1啊  怎么也不会变化了吧   而且这个B也没有用到未来,像下面这个例子 ,他为什么会变呢?
Var1:=(H+L)/2;
AO:=SMA(Var1,5,1)-SMA(Var1,34,1);
AC:=SMA((AO-SMA(AO,5,1)),5,1);
ref1AO:=ref(AO,1);
y5:=ref(SMA(Var1,5,1),1);
y34:=ref(SMA(Var1,34,1),1);
x1:=(ref1AO*170+5*33*y34-34*4*y5)/29; 
ref1AC:=ref(AC,1);
AOref1:=ref(sma(AO,5,1),1);
AOref2:=ref(SMA((AO-SMA(AO,5,1)),5,1),1);
z3:=34*4*5*y5-5*33*5*y34 -4*170*AOref1 +4*170*5*AOref2;
z4:=-34*4*y5+5*33*y34+z3;
x2:=(ref1AC*170*25-z4)/(29*4);
A:ref(min(x1,x2),1);
5楼
FireScript 发表于:2020/6/30 9:22:09
 你是不是扩充了图表的数据起始位置,改变了K线图的起始位置了。你这里用到的sma函数对这个是敏感的。
建议你限定下图表上K线的起始位置试试:




图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看
6楼
yesdgn 发表于:2020/6/30 9:26:58
就是默认的560个周期,   我没有改变什么, 按你说的指定起始日期  那不是会加载的周期数据越来越多吗?   是不是默认加载560周期  当时计算时 他肯定是最后一周期 所以前面是有560周期的数据  但是我后面再去看 他还是只加载560周期  但是当时时间点已经不是最后一周期了  相当于那个点前面的数据已经没有560周期数据了  所以SMA 就计算出不一样的值了?
7楼
FireScript 发表于:2020/6/30 9:35:04
 就是你理解的那样。这种默认560周期,那么这个起始位置就会是移动的。相当于一个尺子,一直往前移动,尺子的初始端起始是一直在变化的。
8楼
yesdgn 发表于:2020/6/30 9:42:09
但是我刚才测试了下 ,  我人为的按方向下键把加载的周期拉的很大 都加载到6月8号了  那理论上昨天晚上的一个时间点的计算 加载的数据足够用了   我也就是34 再*10也是340周期    但是他的值还是和当初计算时不一样  而是和后面再去看他时的值是一样的    按我们的理解应该是后面看的时候过了好久周期不够计算了 才会数值错误  那我加载够了 应该一致了啊
9楼
wenarm 发表于:2020/6/30 9:46:11

建议你去研究下SMA 和ema的算法,他们都是递归算法,k线数量不一样,自然其结果也会存在差异。(只要k线数量变化了,他们就会变化,注:可能存在结果一样的,只是因为计算结果正好相同、)

 

你这个问题和ref没有半点关系. 就是看B是怎么算,上个k位置的B变化了,你取值才会不一样。

 

[此贴子已经被作者于2020/6/30 9:48:49编辑过]
10楼
yesdgn 发表于:2020/6/30 9:54:59
按你这说法  我只要改变加载数据的周期数  他计算的结果就应该变化?    我改成了860个周期   他还是一样的值啊
共22 条记录, 每页显示 10 条, 页签: [1] [2][3]


Powered By Dvbbs Version 8.3.0
Processed in .03027 s, 3 queries.