以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求助每天计算的上下界为什么一直是不变的?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=50842)

--  作者:easonyoyo
--  发布时间:2013/4/9 16:11:12
--  求助每天计算的上下界为什么一直是不变的?

求老师看一下:

 

是这样的,程序是每天计算一次上下界:

IF tt<091700 OR tt>152000 THEN BEGIN
 UP:="MEAN.UP";
 DOWN:="MEAN.DOWN";
END

公式MEAN里面计算UP和DOWN,但是我在调试程序发现过了很多天计算出来的UP和DOWN都是不变的,这怎么办?


--  作者:easonyoyo
--  发布时间:2013/4/9 16:18:10
--  
另外还问一下 能不能把某一品种的1分钟数据固定成一天的,就是在K线图中只能看到一天的数据。
--  作者:jinzhe
--  发布时间:2013/4/9 16:21:54
--  
几分钟周期?
--  作者:easonyoyo
--  发布时间:2013/4/9 16:22:12
--  
1分钟
--  作者:jinzhe
--  发布时间:2013/4/9 16:38:35
--  
UP:=valuewhen( tt<091700 ,"MEAN.UP");

--  作者:easonyoyo
--  发布时间:2013/4/9 16:54:58
--  
还是不行,谢谢老师,我想了一下会不会是因为,我在计算UP和DOWN的时候,里面有用到CLOSE这个公式,而序列模式下CLOSE默认是到最新日期的,导致回测中算出来的UP和DOWN就是最新一天的?如果是这样的话有没有办法将日期传进公式里面去呢,取该日期之前数据?
--  作者:admin
--  发布时间:2013/4/9 17:01:25
--  

完整公式贴一下,我们帮你看看

 


--  作者:easonyoyo
--  发布时间:2013/4/9 17:36:29
--  

公式里面的:

A1:=MA(CLOSE,10);
A2:=STD(CLOSE,10);
B1:=A1[DATACOUNT];
B2:=A2[DATACOUNT];

R:=STD(CLOSE,10);

UP:=B1+R;

DOWN:=B2-R;

 


--  作者:easonyoyo
--  发布时间:2013/4/9 17:40:01
--  

干脆这样吧我把编程思想说一下:

周期为1分钟,每天开盘的时候取前一天240分钟的收盘价序列,并计算上下界,然后当天就根据该上下界来进行开平仓操作。

我现在的问题是,由于公式里是序列模式,拿到的前N个周期的收盘价序列都是最新的,所以算出的所有上下界都是一样的。


--  作者:admin
--  发布时间:2013/4/9 23:00:34
--  
以下是引用easonyoyo在2013-4-9 17:36:29的发言:

公式里面的:

A1:=MA(CLOSE,10);
A2:=STD(CLOSE,10);
B1:=A1[DATACOUNT];
B2:=A2[DATACOUNT];

R:=STD(CLOSE,10);

UP:B1+R;

DOWN:B2-R;

 

这样改了再试试