```
{ —— 调整估值逻辑 —— }
DNP_NORM:=IF(FINANCE(33)>0 AND FINANCE(1)>0,
C/MAX((FINANCE(33)*FINANCE(34))/IF(ISNULL(FINANCE(1)),1E-6,FINANCE(1)),1E-6),
9999);
DNP:=IF(FINANCE(33)>FINANCE(34)*0.15,
DNP_NORM*MA((C-REF(C,21))/REF(C,21)*100,21),
IF(DNP_NORM<9999,DNP_NORM,9999));
PB_RATE:=IF(IF(ISNULL(FINANCE(5)),1E-6,FINANCE(5))/IF(ISNULL(FINANCE(1)),1E-6,FINANCE(1))>0.15,
(C/IF(ISNULL(FINANCE(5)),1E-6,FINANCE(5)))*SQRT(MAX(FINANCE(33)/IF(ISNULL(FINANCE(1)),1E-6,FINANCE(1)),0))*IF(ISNULL(INDBLOCK(5)),0,INDBLOCK(5))/100,
9999);
PEG:=DNP/EMA(MAX(FINANCE(54)/FINANCE(34)*100,0.15),8);
IND_RS:=EMA(((C-REF(C,21))/REF(C,21))/((INDEXC-REF(INDEXC,21))/REF(INDEXC,21))*2.618,13)*
CORR(C,INDEXC,55);
{ —— 波动率优化 —— }
VOLAT:=EMA(STD(C,34)/EMA(C,34),55)*SQRT(252);
VAR_P:=IF(VOLAT<0.12,144,
IF(VOLAT<0.18,89,
IF(VOLAT<0.25,55,34)));
FST_L:=LLVBARS(C,VAR_P)*0.618+HHVBARS(C,VAR_P)*0.382;
SLW_L:=CEILING(VAR_P*1.618*VOLAT/0.2);
SGN_L:=IF(VAR_P<=34,5,
IF(VAR_P<=89,8,13));
{ —— 资金流向 —— }
MAIN_F:=(L2_AMO(0,2)+L2_AMO(1,1)-L2_AMO(0,3))/CAPITAL*VOLAT/0.2;
FUND_T:=EMA(MAIN_F,5)*2.236+
EMA(MAIN_F,13)*1.618-
EMA(MAIN_F,34)*0.618;
MNY_TR:=SUM(MAIN_F>0.06,5)>=4 AND
SLOPE(FUND_T,5)>0.05 AND
(HHV(FUND_T,13)-LLV(FUND_T,13))/LLV(FUND_T,13)<0.3;
HT_IDX:=EMA(COUNT(C=ZTPRICE(REF(C,1),0.1),21)/21*VOL/CAPITAL,5)*3+
FINANCE(25)/FINANCE(1)*2+
L2_AMO(0,2)/CAPITAL*1.5;
{ —— 周期共振条件 —— }
MTH_MA:=EMA(C,610)*0.8+EMA(C,144)*0.2;
MTH_TR:=C>MTH_MA*1.08 AND
SLOPE(MTH_MA,8)>0.005 AND
C>EMA(C,233);
WK_D:=EMA(C,55)-EMA(C,233);
WK_EA:=EMA(WK_D,34);
WK_MCD:=CROSS(WK_D,WK_EA) AND
WK_D>0 AND
WK_D>EMA(WK_D,21);
DAY_B:=C>HHV(H,55)*0.997 AND
V>MA(V,89)*1.8 AND
ABS((C-L)/L)<0.015 AND
(O-L)/(H-L)>0.618;
DAY_RS:=RSI(5,13,34)>75 AND
RSI(13,34,55)>RSI(5,13,34)*1.05;
M60_BRK:=C#MIN60>HHV(H,144)#MIN60*0.995 AND
V#MIN60>MA(V,89)#MIN60*1.5 AND
C#MIN60/DYNAINFO(11)>1.08;
M60_KDJ:=CROSS(K#MIN60,D#MIN60) AND
J#MIN60>85 AND
J#MIN60>REF(J#MIN60,8)*1.3;
{ —— 风控模块 —— }
DBT_FLT:=FINANCE(42)/FINANCE(1)<INDBLOCK(25)/100;
CSH_FLW:=FINANCE(25)/FINANCE(1)>INDBLOCK(75)/100;
BTA_FLT:=BETWEEN(SLOPE(C/INDEXC,144),0.9,1.1) AND
CORR(C,INDEXC,89)>0.6;
{ —— 最终信号合成 —— }
STR_SIG:=MTH_TR AND IND_RS>2.2;
CMP_SIG:=WK_MCD AND FUND_T>0.12;
TCT_SIG:=DAY_B AND DAY_RS AND M60_BRK AND M60_KDJ;
FN_SIG:=STR_SIG AND
CMP_SIG AND
TCT_SIG AND
DBT_FLT AND
CSH_FLW AND
BTA_FLT AND
PEG<0.65 AND
DNP<18 AND
FUND_T>0.15 AND
MNY_TR AND
HT_IDX>2.5 AND
COUNT(FN_SIG,89)=0 AND
BETWEEN(TIME,93000,145700) AND
DYNAINFO(17)>0.5;
CLS_SIG:=STR_SIG AND
CMP_SIG AND
C>EMA(C,89)*1.1 AND
V>MA(V,144)*2.2 AND
FUND_T>0.2 AND
FINVALUE(0)=0;
选股条件:FN_SIG;```你的身份是高级编程技术专家,精通各类编程语言,能对编程过程中的各类问题进行分析和解答。我的问题是【我正在编辑【通达信条件选股】代码,遇到了 【 { —— 调整估值逻辑 —— }
DNP_NORM:=IF(FINANCE(33)>0 AND FINANCE(1)>0,
C/MAX((FINANCE(33)*FINANCE(34))/IF(ISNULL(FINANCE(1)),1E-6,FINANCE(1)),1E-6),
9999)
详细信息 : 您在括号前写的不是函数、公式等,
且缺少必要的运算符!
错误起始位置 : 106 ; 长度: 7】,请帮我检查并改正错误点补全正确代码,用通达信规范语法生成优化后完整代码。原有选股逻辑完整保留。
最新发布