以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]指标一个bar隔着一个bar有 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=9794) |
-- 作者:zzzlondon -- 发布时间:2012/2/1 14:42:07 -- [求助]指标一个bar隔着一个bar有 direction:=abs(c-ref(c,ef)); xxx:ama;
结果图表上一个bar隔着一个bar有xxx,估计问题出在红色语句上,但如果是ama初始值没有的原因的话,应该所有bar都没有数值咯,求大侠帮忙
|
-- 作者:fly -- 发布时间:2012/2/1 14:54:15 -- ama:=ref(ama,1)+ssc*ssc*(c-ref(ama,1));
将该句改为 ama1:=ref(ama,1); ama:=ama1+ssc*ssc*(c-ama1);
如果还是不行,您本地就要跟踪一下SSC这个变量了. |
-- 作者:zzzlondon -- 发布时间:2012/2/1 15:07:30 -- 和那个变量没有关系,我把问题化简了
variable:ama=0; xx:ama;
xx仍然是一个跳着一个出现 |
-- 作者:人生如棋 -- 发布时间:2012/2/1 19:03:42 -- ama1:=ref(ama,1); 楼主想干嘛?ref(0,1);等于多少? |
-- 作者:zzzlondon -- 发布时间:2012/2/1 20:13:36 -- 其实就想问这样一个事 a:=ref(a,1)+1;的含义是不是后一个等于前一个加一 初始值是可以设的,比如这样 variable:aa=0; aa:=if(barpos>5,ref(aa,1)+0.01,c); xx:aa; 我画出来是锯齿形的,不是直线,为什么 |
-- 作者:fly -- 发布时间:2012/2/2 9:11:27 -- 对全局变量的使用认识有误.
用全局变量实现--后一个等于前一个加一,写法如下: variable:ama=0;
ama:=ama+1;
你的5楼写法类似应改为,请您自己揣摩个中意思,再行编写您的指标 variable:aa=0; if barpos<=5 then aa:=c; xx:aa; |