以文本方式查看主题

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

--  作者:XXL
--  发布时间:2016/12/15 21:23:39
--  IF语句
程序自带的恒温器策略中的这一句是什么意思(A :=0)

 IF A:=0 THEN BEGIN    //  A:=0是什么意思?    他与A=0;不一样       在前面赋值A:=1;有效,赋值A:=0;反而无效


 趋势平空:SELLSHORT(趋势平空条件 AND HOLDING<0,手数,MARKET);
 趋势平多:SELL(趋势平多条件 AND HOLDING>0,手数,MARKET);
 趋势开多:BUY(趋势开多条件 AND HOLDING<=0,手数,MARKET);
 趋势开空:BUYSHORT(趋势开空条件 AND HOLDING>=0,手数,MARKET);
 A:=0;
END

--  作者:jinzhe
--  发布时间:2016/12/16 8:52:08
--  
是一个判断,多写了一个冒号
--  作者:XXL
--  发布时间:2016/12/16 18:45:23
--  
当前面500个周期中有高点超过MA1的就执行怎么写
就是只是超过一次,就工作500个周期
IF  ret(ma1,500)>C   THEN BEGIN        
drawicon( 1,close,1);    //执行

END

--  作者:jinzhe
--  发布时间:2016/12/19 8:45:17
--  
any(h,500)>ma1
--  作者:XXL
--  发布时间:2016/12/19 11:22:23
--  
这个不行,帮看一下为什么
这一个代码就是可能看到K 柱最高时超过MA线后面500个周期的笑脸吧,程序没有反应
ma1:ma(c,60);
IF  any(h,500)>ma1   THEN BEGIN        
drawicon( 1,close,1);   //有效
END

--  作者:jinzhe
--  发布时间:2016/12/19 11:30:12
--  
ma1:ma(c,60);
   
drawicon( any(h>ma1,500)  ,close,1);   //有效
 


--  作者:XXL
--  发布时间:2016/12/19 11:50:32
--  
奇怪了,这写法与你上面的应该是一样的,为什么用IF语句就是不行呢

ma1:ma(c,60);
IF any(h>ma1,3)  THEN BEGIN        
drawicon( 1,close,1);   

END

--  作者:jinzhe
--  发布时间:2016/12/19 13:05:50
--  
你这样写要设置下逐k线计算