本选股公式旨在通过综合分析股票的收盘价、最低价、开盘价和最高价,捕捉市场趋势和波动性。`G1`至`G4`分别代表这些价格,为后续计算提供基础数据。`GKD1`通过计算当前收盘价与过去75个交易日最低价和最高价的相对位置,生成一个0到100之间的数值,反映当前价格在历史波动范围内的位置。
选股公式源码如下:
G1:=CLOSE;G2:=LOW;G3:=OPEN;G4:=HIGH;
GKD1:=(G1-LLV(G2,75))/(HHV(G4,75)-LLV(G2,75))*100;
GKD2:=SMA(GKD1,20,1);
GKD3:=SMA(GKD2,15,1);
GKD4:=100-3*GKD2+2*GKD3;
GKD5:=IF(GKD4>REF(GKD4,1),GKD4,GKD4-5);
GKD6:=HHV(G4,25);
GKD7:=LLV(G2,25);
GKD8:=EMA((G1-GKD7)/(GKD6-GKD7)*100,5);
GKD9:=GKD4>GKD5 AND GKD8>=REF(GKD8,1);
GKD10:=GKD4>GKD5;
GKD11:=MAX(G1,EMA(G1, 13));
GKD12:=REF(C,1);
GKD13:=HHV(GKD12,2);
GKD14:=REF(GKD13,1);
GKD15:=LLV(GKD12,2);
GKD16:=REF(GKD15,1);
GKD17:=BARSLAST(C< GKD15 AND GKD12>=GKD16);
GKD18:=REF(GKD17,1);
GKD19:=BARSLAST(C>GKD13 AND GKD12<=GKD14);
GKD20:=REF(GKD19,1);
GKD21:=IF(GKD17-GKD19>0 AND GKD18<=GKD20,1,IF(GKD19-GKD17>0 AND GKD20<=GKD18,0,2));
GKD22:=MAX(G1, GKD11);
GKD23:=MIN(G1, GKD22);
GKD24:=GKD21=1;
GKD25:=GKD23>=REF(GKD23,1) AND GKD23=GKD22;
伏击:(GKD9 AND GKD25) AND REF((GKD9 AND GKD25),1)=0;
`GKD2`和`GKD3`通过简单移动平均(SMA)进一步平滑`GKD1`的波动,增强趋势的稳定性。`GKD4`则通过调整`GKD2`和`GKD3`的权重,生成一个新的趋势指标,旨在更敏感地反映市场变化。`GKD5`通过与前一日的比较,对`GKD4`进行微调,以减少假信号。
`GKD6`和`GKD7`分别追踪过去25个交易日的最高价和最低价,为`GKD8`的计算提供参考。`GKD8`使用指数移动平均(EMA)来衡量当前价格相对于近期波动范围的位置,进一步增强趋势的识别能力。`GKD9`和`GKD10`通过比较`GKD4`和`GKD5`,以及`GKD8`的当前值和前一值,筛选出趋势向上且波动性增加的信号。
`GKD11`至`GKD25`通过一系列计算,识别价格的支撑和阻力位,以及市场的波动模式。特别是`GKD21`,它通过比较价格的高点和低点,识别市场的波动周期。最后,`伏击`信号结合了`GKD9`和`GKD25`的条件,以及前一日的相同条件,以确保信号的一致性和可靠性,为投资者提供了一个综合考虑趋势、波动性和市场行为的交易信号。