建指标A a:ma(c,5);
建指标B aa:"A.a#week";
如果我不想用week函数而取得跟 aa:"A.a#week";一样的效果,该怎么做
正确答案:
要求无未来的周线值,可参考
一, {引用公式代码,公式名:RSI1}
INPUT:N1(6),N2(12),N3(24);
LC := REF(CLOSE,1);
RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;
RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;
RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100;
xr1:SMA(MAX(CLOSE-LC,0),N1,1),LINETHICK0;xr11:SMA(ABS(CLOSE-LC),N1,1),LINETHICK0;
xr2:SMA(MAX(CLOSE-LC,0),N2,1),LINETHICK0;xr22:SMA(ABS(CLOSE-LC),N2,1),LINETHICK0;
xr3:SMA(MAX(CLOSE-LC,0),N3,1),LINETHICK0;xr33:SMA(ABS(CLOSE-LC),N3,1),LINETHICK0;
..........
{使用公式代码}
INPUT:N1(6),N2(12),N3(24);
wtj:=datediff(ref(date,1),date)<>weekday-ref(weekday,1);
qz1:=BARSLAST(wtj)+1;lc1:=ref(c,qz1);maxc1:=max(c-lc1,0);absc1:=abs(c-lc1);
zxr1:="rsi1.xr1#week";zxr11:="rsi1.xr11#week";zxr2:="rsi1.xr2#week";
zxr22:="rsi1.xr22#week";zxr3:="rsi1.xr3#week";zxr33:="rsi1.xr33#week";
rsi1(maxc1+(n1-1)*ref(zxr1,qz1))/n1)/((absc1+(n1-1)*ref(zxr11,qz1))/n1)*100;
rsi2(maxc1+(n2-1)*ref(zxr2,qz1))/n2)/((absc1+(n2-1)*ref(zxr22,qz1))/n2)*100;
rsi3(maxc1+(n3-1)*ref(zxr3,qz1))/n3)/((absc1+(n3-1)*ref(zxr33,qz1))/n3)*100;
二,不引用未来数据,数据逐日变化的周KDJ指标
{引用公式代码,公式名:KDJ1}
INPUT:N(9,1,100),M1(3,2,100),M2(3,2,100);
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
J:3*K-2*D;
mHN1:HHV(HIGH,N-1);
LN1LV(LOW,N-1);
..............
{使用公式代码}
INPUT:N(9,1,100),M1(3,2,100),M2(3,2,100);
XQ:=BARSLAST(weekday-ref(weekday,1)<>DATEDIFF(ref(date,1),date))+1;
ZHN1:="KDJ1.HN1#WEEK";ZLN1:="KDJ1.LN1#WEEK";
ZK:="KDJ1.K#WEEK";ZD:="KDJ1.D#WEEK";ZJ:="KDJ1.J#WEEK";
RSV:=(CLOSE-MIN(ref(ZLN1,xq),LLV(LOW,XQ)))/(MAX(ref(ZHN1,xq),HHV(HIGH,XQ))-MIN
(ref(ZLN1,xq),LLV(LOW,XQ)))*100;
K2RSV+(M1-1)*REF(ZK,XQ))/M1;
D2K2+(M2-1)*REF(ZD,XQ))/M2;
J2:3*K2-2*D2;
写法2:
input:n(9,1,100),m1(3,2,40),m2(3,2,40);
wtj1:=datediff(ref(date,1),date)<>weekday-ref(weekday,1);
hn:=sumbars(wtj1,n);XQ:=BARSLAST(wtj1)+1;
x:=sum(wtj1,0)<9;
ZK:="KDJ.K#WEEK";ZD:="KDJ.D#WEEK";
ln1:=if(x,llv(l,0),llv(l,hn));
hn1:=if(x,hhv(h,0),hhv(h,hn));
RSV:=(c-ln1)/(hn1-ln1)*100;
K2RSV+(M1-1)*REF(ZK,XQ))/M1;
D2K2+(M2-1)*REF(ZD,XQ))/M2;
J2:3*K2-2*D2;
正确答案:
分析家,飞狐通用改成这样。
XQ:=BARSLAST(weekday-ref(weekday,1)<>DATETOD1970(DATE)-ref(DATETOD1970(DAT E),1))+1;
|