以文本方式查看主题

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

--  作者:liboyi
--  发布时间:2011/5/19 7:35:26
--  请朋友帮忙

下面的公式是显示每日的分K线收阳线数和收阴线数之差达一定值的开盘价.

 

现合条件时有好多个.我现想只取每日的第一个,请朋友帮我增加语句实现,多谢了:

 

 

上日至今K线数:=BARSLAST(DATE>REF(DATE,1))  ,COLORWHITE ;  
 收阳K线数 :=sum(c > o,0);
 收阳K线数差 :=收阳K线数  -ref(收阳K线数 , 上日至今K线数  );
 
 收阴K线数 :=sum(c < o,0);
 收阴K线数差 := 收阴K线数 -ref(收阴K线数 , 上日至今K线数  );
    
 差值 :=-4;
 阳阴K线差 := 收阳K线数差 - 收阴K线数差   ;
 
  DRAWTEXT(  阳阴K线差 = 差值  , h+30, \' 阳阴K线差 \' )   ,COLORWHITE ;
             
  DRAWNUMBER(  阳阴K线差 =差值    ,h +25,  o     ,1)  ,COLORWHITE ;
 
   {    
   DRAWNUMBER(  1  ,h +10,   收阳K线数差    ,1)  ,COLORWHITE ;      
   DRAWNUMBER( 1   ,h +5,   收阴K线数差    ,1)  ,COLORWHITE ; 
   }


--  作者:阿火
--  发布时间:2011/5/19 8:19:50
--  

加一个条件 符合条件的次数=1即可

你的写法也太麻烦了

nn:=barslast(date<>ref(date,1))+1;

tj:=sum(c>o,nn)-sum(c<o,nn)=-4;

drawtext(tj and sum(tj,nn)=1,h+30,\'阴阳K线差\');

 

3行即可


--  作者:liboyi
--  发布时间:2011/5/19 9:17:27
--  

多谢指点.

 


--  作者:liboyi
--  发布时间:2011/5/19 9:20:24
--  
想不到SUM可这样用,我一直在想barssince 及其它方法,就是想不到,还要努力学习啊.