Rss & SiteMap

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

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

标题:求助一个引用自身前值的写法

1楼
oroute 发表于:2018/7/19 20:30:17

要计算一个关于tt的系列,表征类似于均线,

 

在计算中,需要引用tt的前两个到N个周期的值,简单一点,先说两个,ref(tt,1)和ref(tt,2)

比如

tt:=(c+ref(tt,1)+(tt,2))/3;

 

初始情况下 tt=close

 

是不是要用到全局变量?我还是写不好,请指点

 

2楼
oroute 发表于:2018/7/19 21:30:24
and,要在逐K线模式下进行
3楼
wenarm 发表于:2018/7/20 8:19:01
如果你ff已经是序列变量了,那么你上面的方式直接使用aa:ma(ff,n);//就是你要的n个ff的平均值
4楼
oroute 发表于:2018/7/20 15:09:35
以下是引用wenarm在2018/7/20 8:19:01的发言:
如果你ff已经是序列变量了,那么你上面的方式直接使用aa:ma(ff,n);//就是你要的n个ff的平均值

 

我不是真的要ma啊,只是做个比方,每次算tt都要涉及到前两个tt

5楼
oroute 发表于:2018/7/20 15:11:29
算法比较复杂,并且为了做交易模块,必须在逐K线模式下进行
6楼
oroute 发表于:2018/7/20 15:13:42

图片点击可在新窗口打开查看

 

试一下能不能引用

7楼
FireScript 发表于:2018/7/20 15:28:10
 你这个只需要处理第一个K和第二个K位置的初始值即可。
类似这样:
if BARPOS=1 then tt:=a;
if BARPOS=2 then tt:=b;

if BARPOS>=3 then tt:=(ref(tt,1)+ref(tt,2))/2;


8楼
oroute 发表于:2018/7/20 15:59:04
以下是引用FireScript在2018/7/20 15:28:10的发言:
 你这个只需要处理第一个K和第二个K位置的初始值即可。
类似这样:
if BARPOS=1 then tt:=a;
if BARPOS=2 then tt:=b;

if BARPOS>=3 then tt:=(ref(tt,1)+ref(tt,2))/2;
 
 
===============
REF 函数在逐K线模式下不能直接在IF控制语句之内引用。请参阅帮助公式部分的解决方案。
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=130


9楼
oroute 发表于:2018/7/20 15:59:58

我的源码是这样的

 

if BARPOS=1 then lltv:=c;
if BARPOS=2 then lltv:=c;

if BARPOS>=3 then LLTv:=(a-a^2/4)*FC+(a^2/2)*ref(FC,1)-(a-3*a^2/4)*ref(FC,2)+2*(1-a)*ref(lltv,1)-(1-a)^2*ref(lltv,2);

LLT:LLTV;

共9 条记录, 每页显示 10 条, 页签: [1]


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