H20:=HHV(HIGH,20);
DF20:=(H20-CLOSE)/H20*100;
H60:=HHV(HIGH,60);
DF60:=(H60-CLOSE)/H60*100;
H40:=HHV(HIGH,40);
DF40:=(H40-CLOSE)/H40*100;
H250:=HHV(HIGH,250);
DF250:=(H250-CLOSE)/H250*100;
H120:=HHV(HIGH,120);
DF120:=(H120-CLOSE)/H120*100;
YK:="kdj.K#MONTH";
YD:="kdJ.D#MONTH";
YJ:="KDJ.J#MONTH";
ZK:="KDJ.K#week";
ZD:="KDJ.D#week";
ZJ:="KDJ.J#week";
Zrsi6:="RSI.RSI1#week";
ZRSI12:="RSI.RSI2#week";
YRSI6:="RSI.RSI1#MONTH";
YRSI12:="RSI.RSI2#MONTH";
ZRSI24:="RSI.RSI3#week";
YRSI24:="RSI.RSI3#MONTH";
ZF30:=(HHV(HIGH,30)-LLV(LOW,30))/LLV(LOW,30)*100;
HSL:=IF(CAPITAL=0,vol/SUM(VOL,100),VOL/CAPITAL);
<%
vhsl = ffl.vardata("hsl")
last=ubound(vhsl)
for i=1 to last
vhsl(i) = vhsl(i-1) * (1 - vhsl(i)) * 12 / 13 + vhsl(i)
next
ffl.vardata("hsl") = vhsl
%>
CYF:=100*HSL;
K40:=DF40>30 AND crOSS(ZK,ZD);
K60:=DF60>30 AND CROSS(YK,YD);
K120:=DF120>30 AND CROSS(YK,YD);
K250:=DF250>50 AND CROSS(YK,YD);
R40:=DF40>30 AND CROSS(ZRSI6,ZRSI12);
R60:=DF60>30 AND CROSS(ZRSI6,ZRSI12) OR DF60>30 AND CROSS(ZRSI6,ZRSI24);
R120:=DF120>30 AND CROSS(YRSI6,YRSI12);
R250:=DF250>35 AND CROSS(YRSI6,YRSI12) OR DF250>35 AND CROSS(YRSI6,YRSI24);
H250:=HHV(CLOSE,250);
L250:=LLV(CLOSE,250);
RPY:=(CLOSE-L250)/(H250-L250)*100;
RP:=RPY<20 AND CROSS(YRSI6,YRSI12);
KR:=K40 OR K60 OR K120 OR K250 OR R40 OR R60 OR R120 OR R250 OR RP;
KRYZ:KR AND CLOSE<LLV(LOW,60)*1.35;
NFFY:=COUNT(KRYZ,5)>0;