以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  [求助]请教如下语法出错?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=73)

--  作者:bhwhui
--  发布时间:2009/10/3 23:24:40
--  [求助]请教如下语法出错?

input:atrn1(1,1,10),atrn2(5,2,20);

 

if atrn1<atrn2 and vol>20000 then
begin
TR1:= MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATRn_1:= MA(TR1,atrn1);
ATRn_2:= MA(TR1,atrn2);

end;

 

 

提示:ref函数不能在控制语句中引用??

 

谢谢


--  作者:bhwhui
--  发布时间:2009/10/3 23:45:42
--  
ma等函数也不行?
--  作者:admin
--  发布时间:2009/10/3 23:54:08
--  

是的像REF这种带有统计性质的语句是不能包含在IF控制语句之中的,解决办法是将他们移到IF语句之外。

input:atrn1(1,1,10),atrn2(5,2,20);

A1:=REF(CLOSE,1);

MA1:=MA(TR1,atrn1);
MA2:=MA(TR1,atrn2);

if atrn1<atrn2 and vol>20000 then
begin
TR1:= MAX(MAX((HIGH-LOW),ABS(A1HIGH)),ABS(A1-LOW));
ATRn_1:= MA1;

ATRn_2:= MA2;

end;

 


--  作者:bhwhui
--  发布时间:2009/10/3 23:59:35
--  

呵呵,谢谢那么快的回复。

嗯,有点胸闷。。。


--  作者:蔡宛宏
--  发布时间:2012/1/19 14:28:57
--  

input:atrn1(1,1,10),atrn2(5,2,20);

A1:=REF(CLOSE,1);

MA1:=MA(TR1,atrn1);
MA2:=MA(TR1,atrn2);

if atrn1<atrn2 and vol>20000 then
begin
TR1:= MAX(MAX((HIGH-LOW),ABS(A1-HIGH)),ABS(A1-LOW));
ATRn_1:= MA1;

ATRn_2:= MA2;

end;

少了一个运算符号