以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 有几个问题需要帮助 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=163001) |
-- 作者:shensane -- 发布时间:2018/4/25 9:17:07 -- 有几个问题需要帮助 ma60:ma(c,60); ma100:ma(c,100); ma180:ma(c,180); ma300:ma(c,300); n1:=todaybar; dm:=4-INTPART(LOG(C)); jsj:ROUNDS(IF(sum(vol,n1)=0,C,sum(C*vol,n1)/sum(vol,n1)),2+dm),colorred; DIFF := EMA(CLOSE,12) - EMA(CLOSE,26); DEA := EMA(DIFF,9); MACD:=2*(DIFF-DEA); s:SUMBARS(TODAYBAR=1,5);//包含了当日 H4:hhv(h,s); l4:llv(l,s); N:=BARSLAST(DATE<>REF(DATE,1))+1; HR4:hHV(H,N+4*REF(N,N)); LR4:lLV(L,N+4*REF(N,N)); KD:H>ref(hhv(h,todaybar),1)&&H>ma300&&H>PRVSETTLEMENT&&(TIME>0103&&TIME<=1859); KK:L<ref(llv(l,todaybar),1)&&L<ma300&&L<PRVSETTLEMENT&&(TIME>0103&&TIME<=1859); T:=BARSLAST(L<(JSJ))+1; T1:=BARSLAST(H>(JSJ))+1; ZD1:COUNT(KD,T); ZK1:COUNT(KK,T1); ZD2:COUNT(zd1>0,T); ZK2:COUNT(zk1>0,T1); DK:if(zd1>0,zd2,if(zk1>0,-zk2,0)); 这是我的一个指标,我这里面用到了当天的JSJ这个指标,我不做日内有可能隔夜,现在有一个问题,比如当天收盘ZD2,ZK2有可能是大于0,然后我要留隔夜,但是第二天开盘因为JSJ改变,所有的又重新计算了,所有我想加一个限制条件;当前一天收盘的时候ZD2是大于0,那么取ZD2=1的JSJ,当前一天收盘的时候ZD2是等于0,那么取当天的JSJ, 当前一天收盘的时候ZK2是大于0,那么取ZK2=1的JSJ,当前一天收盘的时候ZK2是等于0,那么取当天的JSJ, |
-- 作者:FireScript -- 发布时间:2018/4/25 9:37:10 -- 举个例子,这是昨日最后一个K的c的引用方式 s:ref(c,BARSLAST(TODAYBAR=1)+1); 你上面的也是类似的去引用zd2,然后再进一步判断就行了。 a:ref(zk2,BARSLAST(TODAYBAR=1)+1);//昨日收盘时的zk2 result:if(a=0,jsj,ref(jsj,BARSLAST(zk2=1)));//这句意思是如果a=0取当前jsj,否则取上次zk2=1时候的jsj |