以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  寻找拐点的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=72482)

--  作者:sonicking
--  发布时间:2014/11/28 16:48:10
--  寻找拐点的问题
我做了一个寻求EMA均线上升中拐点价格或下降途中拐点价格的程序。
但while语句中出现问题,而且不让在while中使用ema函数,不知如何修改,请高手指教。谢谢



VARIABLE: i=0,x=0,y=0.2; //y为当前品种最小的变动价位,今日值>昨日值x=-1,否则x=1,

c0:= c;
c1:= ema(c0,5);
c2:= ref(c1,1);

if c1>c2 then x:=-1;  //x为-1,c1上升中,需递减找到转折点价格
if c1<c2 then x:=1;   //x=1,c1处于下降中,需要滴增找到转折点价格

while x=-1 and c1>c2 do begin 
i:=i+1;
c0:=c+y*x*i;
c1:=ema(c0,5);
end 

while x=1 and c1<c2 do begin 
i:=i+1;
c0:=c+y*x*i;
c1:=ema(c0,5);
end 

mm: x;

--  作者:jinzhe
--  发布时间:2014/11/28 16:52:11
--  
处理中,请稍等
--  作者:pyd
--  发布时间:2014/11/28 16:58:38
--  

把ema放while外面

VARIABLE: i=0,x=0,y=0.2; //y为当前品种最小的变动价位,今日值>昨日值x=-1,否则x=1,
c0:= c;
c1:= ema(c0,5);
c2:= ref(c1,1);


if c1>c2 then x:=-1;  //x为-1,c1上升中,需递减找到转折点价格
if c1<c2 then x:=1;   //x=1,c1处于下降中,需要滴增找到转折点价格
s:ema(c0,5);

while x=-1 and c1>c2 do begin
   i:=i+1;
   c0:=c+y*x*i;
   c1:=s;
end


while x=1 and c1<c2 do begin
   i:=i+1;
   c0:=c+y*x*i;
   c1:=s;
end


mm: x;

 


--  作者:sonicking
--  发布时间:2014/11/28 17:03:40
--  
编译过不去呀,死机了。

另原来我已经用c1:= ema(c0,5); 若再定义s:ema(c0,5); 
那 循环语句中c1:= c1 和 c1:=s, 有差别吗? 

--  作者:jinzhe
--  发布时间:2014/11/28 17:25:19
--  

VARIABLE: i=0,x=0,y=0.2; //y为当前品种最小的变动价位,今日值>昨日值x=-1,否则x=1,


c0:= c;
c1:= ema(c0,5);
c2:= ref(c1,1);


if c1>c2 then x:=-1;  //x为-1,c1上升中,需递减找到转折点价格
if c1<c2 then x:=1;   //x=1,c1处于下降中,需要滴增找到转折点价格


if  x=-1 and c1>c2 then begin
   i:=i+1;
   c0:=c+y*x*i;
   c1:=c1;
end


if x=1 and c1<c2 then begin
   i:=i+1;
   c0:=c+y*x*i;
   c1:=c1;
end


mm: x;


--  作者:sonicking
--  发布时间:2014/11/29 8:37:15
--  
单步跟踪了一下,在while 循环语句中c0的值根据情况在不断变动,但c1和s的值都未发生改变。无法达到效果

所以还请再改写。谢谢