上期文章中,用4组AI工具就均线理论、财务状况、海龟趋势、财务门槛等维度给出了宽松、严格、及适度的分层选股策略,本期在4组AI选股基础上,予以重新评估和整合。
4个不同AI:给出的A股科学中长线趋势选股公式(附源码 + 实操指南) – 执迷者X
第一步:评价每组公式的侧重点
| 公式 | 核心逻辑 | 侧重点 | 独特之处 |
|---|---|---|---|
| 公式1 | 20MA金叉60MA + 唐奇安通道突破(20日高点) + 量能 + ATR | 双重确认突破 | 要求均线金叉与价格突破同时发生,信号最严苛,属于“强中选强” |
| 公式2 | 长期趋势(收盘>60MA >120MA) + 动量(20日涨幅>5%) + 价值(ROE>10%,PE<30,股息率>3%) | 价值趋势投资 | 强调长期均线多头排列、高股息、低PE,属于基本面+趋势的复合策略 |
| 公式3 | 20MA金叉60MA + 乖离控制(股价紧贴20日线) + 全面财务排雷 | 稳健均线金叉 | 注重合理买点(不追高),排雷最细致,不含海龟突破 |
| 公式4(新) | 纯海龟突破:突破30日最高点 + 中期趋势过滤(MA50>MA300) + ATR波动率 | 趋势启动捕捉 | 无均线金叉要求,完全遵循海龟交易法则,适应强势趋势市 |
总结:
- 公式1 = 均线金叉 ∩ 海龟突破(严苛)
- 公式3 = 均线金叉(温和,带乖离控制)
- 公式4 = 海龟突破(纯趋势,无金叉)
- 公式2 = 长期趋势∩价值∩动量(基本面导向)
第二步:统一中期、长期的定义
为保持一致性和A股习惯,折中统一为:
- 短期均线:20日(MA20)
- 中期均线:60日(MA60)
- 长期均线:120日(MA120)
涉及调整:
- 公式2中的N1=60(中期)、N2=120(长期)已符合,无需改动。
- 公式4中的中期趋势过滤原为MA50>MA300(50日与300日),偏长期且周期独特。为统一口径,将其改为 MA60 > MA120(中期均线在长期均线之上)。
- 公式1和公式3本身使用20/60,符合定义。
修改后的公式4中期趋势条件:
原 MA50>MA300 → 改为 MA60 > MA120。
第三步:去重与集合包含关系分析
3.1 重复与包含关系
- 公式1 vs 公式3:公式1要求均线金叉 且 海龟突破(双重条件);公式3只要求均线金叉(不含海龟)。公式1是公式3的子集(更严格)。保留公式1(更强的信号),公式3可视为公式1的宽松版本,可删除公式3以避免重复。
- 公式1 vs 公式4:公式1同时包含均线金叉和海龟突破;公式4只包含海龟突破(且周期为30日而非20日)。两者不互相包含,但可以互补。
- 公式2:独立逻辑,无直接重复。
3.2 去重决策
- 删除公式3(被公式1的部分条件覆盖,且公式1更严格)。
- 保留公式1(均线金叉+海龟突破双重策略)。
- 保留公式4(纯海龟突破,无金叉要求)。
- 保留公式2(价值趋势策略)。
3.3 整合策略
最终输出一套整合公式,将三个不同侧重点的策略通过“或”关系并联,同时共享统一的基础排雷模块。这样用户可以在一键选股中得到三个策略的交集候选,再根据市场环境人工选择适用哪一个。
整合逻辑:
- 基础排雷、财务质地、流动性等公共条件同时应用于三个子策略。
- 子策略A(公式1风格):均线金叉∩海龟突破∩量能∩ATR(严苛)
- 子策略B(公式4风格):纯海龟突破(30日高点)∩中期趋势过滤(MA60>MA120)∩ATR
- 子策略C(公式2风格):长期趋势(收盘>MA60>MA120)∩动量(20日涨幅>3%~25%)∩价值(ROE>10%,PE<30)
最终选股条件为:(公共条件) AND (策略A OR 策略B OR 策略C)
第四步:最终同花顺电脑版公式
text
{整合版_中长线选股_三策略并联}
{公共基础排雷与财务质地(源自公式3及优化)}
{统一周期:MA20短期,MA60中期,MA120长期}
{================= 公共部分(所有策略共享) =================}
非ST:=NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST'));
非退市:=NOT(NAMELIKE('退'));
非停牌:=DYNAINFO(4)>0;
非涨停:=DYNAINFO(7)<1.098; {剔除接近涨停股}
流动性:=AMOUNT/100000000>0.2; {日均成交额大于0.2亿}
估值过滤:=IF(FINANCE(38)>0, FINANCE(38)<=80, 1); {PE在(0,80]或亏损排除}
ROE质控:=FINANCE(39)/FINANCE(34)>=0.08; {ROE加权≥8%}
负债安全:=FINANCE(42)<=70; {资产负债率≤70%}
营收增长:=FINANCE(44)>=1.05; {营收同比增速≥5%}
公共条件:= 非ST AND 非退市 AND 非停牌 AND 非涨停 AND
流动性 AND 估值过滤 AND ROE质控 AND 负债安全 AND 营收增长;
{================= 策略A:均线金叉+海龟突破(源自公式1,周期20/60) =================}
MA20:=MA(CLOSE,20);
MA60:=MA(CLOSE,60);
金叉信号:=CROSS(MA20,MA60);
均线多头A:=MA20>MA60 AND MA60>REF(MA60,1);
{海龟唐奇安突破(20日高点)}
N_A:=20;
唐奇安上轨:=HHV(HIGH,N_A);
海龟突破A:=CLOSE>REF(唐奇安上轨,1);
{ATR波动过滤}
M_A:=10;
ATR_A:=ATR(M_A);
波动达标A:=ATR_A>MA(ATR_A,5);
{量能确认}
量能确认A:=VOL>MA(VOL,60)*1.2;
策略A:= 金叉信号 AND 均线多头A AND 海龟突破A AND 波动达标A AND 量能确认A;
{================= 策略B:纯海龟突破(源自公式4,周期30日高点+中期趋势) =================}
{参数:N1=30突破周期,中期趋势MA60>MA120(统一后)}
N_B:=30;
HHV30:=HHV(HIGH,N_B);
海龟突破B:=CROSS(CLOSE,REF(HHV30,1));
{中期趋势过滤(统一为MA60>MA120)}
MA120:=MA(CLOSE,120);
中期趋势B:=MA60>MA120;
{ATR波动率(20日平均)}
TR_B:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR_B:=MA(TR_B,20);
波动达标B:=ATR_B>MA(ATR_B,5); {合并ATR过滤,与策略A逻辑一致}
策略B:= 海龟突破B AND 中期趋势B AND 波动达标B;
{================= 策略C:价值趋势(源自公式2,长期趋势+动量+价值) =================}
长期多头C:=CLOSE>MA60 AND MA60>MA120; {收盘站上60线,60>120}
动量C:= (CLOSE/REF(CLOSE,20)-1) > 0.03 AND (CLOSE/REF(CLOSE,20)-1) < 0.25; {20日涨幅3%~25%}
价值C:= FINANCE(38) < 30 AND FINANCE(38) > 0; {PE在0~30之间}
{可选:股息率条件(同花顺需要专业数据,暂时注释,用PE替代)}
策略C:= 长期多头C AND 动量C AND 价值C;
{================= 最终选股:公共条件 + 任一策略满足 =================}
选股: 公共条件 AND (策略A OR 策略B OR 策略C);
公式说明与使用建议
- 信号含义:
- 满足策略A的股票:均线刚形成金叉且价格突破20日最高点,同时放量、波动达标。这类股票通常处于中期启动初期,爆发力最强,但信号非常稀少(牛市每日0-3只)。
- 满足策略B的股票:纯海龟突破(30日高点),且中期趋势向上(MA60>MA120),无均线金叉要求。适用于强势趋势延续阶段,信号比策略A多。
- 满足策略C的股票:长期均线多头排列、近期温和上涨(20日涨幅3~25%)、低PE(<30)、高ROE(≥8%)。属于稳健的价值趋势股,信号较多,适合震荡偏强市。
- 调仓与买卖规则(建议沿用原方案):
- 选出后每支买入3000-5000元固定金额。
- 止盈:5%固定止盈(条件单);或对于策略B的海龟突破,可采用跟踪止盈(跌破10日低点离场)。
- 止损:统一为收盘跌破20日线或入场价下方-5%。
适度宽松版
非ST:=NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST'));
非退市:=NOT(NAMELIKE('退'));
非停牌:=VOL>0;
流动性:=AMOUNT/100000000>1;
容量控制:=CAPITAL*CLOSE/100000000>30;
换手率:=VOL/CAPITAL*100;
活跃度:=换手率>1 AND 换手率<20;
公共条件:=非ST AND 非退市 AND 非停牌 AND 流动性 AND 容量控制 AND 活跃度;
MA20:=MA(CLOSE,20);
MA60:=MA(CLOSE,60);
金叉信号:=CROSS(MA20,MA60);
均线多头A:=MA20>MA60 AND MA60>REF(MA60,1);
策略A:=金叉信号 AND 均线多头A;
N_B:=30;
HHV30:=HHV(HIGH,N_B);
海龟突破B:=CROSS(CLOSE,REF(HHV30,1));
MA120:=MA(CLOSE,120);
中期趋势B:=MA60>MA120;
策略B:=海龟突破B AND 中期趋势B;
长期多头C:=CLOSE>MA60 AND MA60>MA120;
动量C:=(CLOSE/REF(CLOSE,20)-1)>0.02 AND (CLOSE/REF(CLOSE,20)-1)<0.35;
策略C:=长期多头C AND 动量C;
选股:公共条件 AND (策略A OR 策略B OR 策略C);
全方位宽松
非ST:=NOT(NAMELIKE('ST')) AND NOT(NAMELIKE('*ST'));
非退市:=NOT(NAMELIKE('退'));
非停牌:=VOL>0;
流动性:=AMOUNT/100000000>0.5;
公共条件:=非ST AND 非退市 AND 非停牌 AND 流动性;
MA20:=MA(CLOSE,20);
MA60:=MA(CLOSE,60);
金叉信号:=CROSS(MA20,MA60);
策略A:=金叉信号;
N_B:=30;
HHV30:=HHV(HIGH,N_B);
海龟突破B:=CROSS(CLOSE,REF(HHV30,1));
MA120:=MA(CLOSE,120);
中期趋势B:=MA60>MA120;
策略B:=海龟突破B AND 中期趋势B;
长期多头C:=CLOSE>MA60 AND MA60>MA120;
动量C:=(CLOSE/REF(CLOSE,20)-1)>0.01 AND (CLOSE/REF(CLOSE,20)-1)<0.40;
策略C:=长期多头C AND 动量C;
选股:公共条件 AND (策略A OR 策略B OR 策略C);
- 先试方案一。复制代码到同花顺条件选股,执行选股。如果结果在5~30只之间,直接使用。
- 如果方案一结果仍为0,改用方案二。方案二在一般震荡市中通常能选出10~50只。
- 可以自行调节参数:
- 若结果过多(>100只),逐步收紧:
ROE质控改回0.08,PE改回80,或加回营收增长。 - 若结果过少,可进一步删除
中期趋势B、均线多头A中的MA60>REF(MA60,1)等。
- 若结果过多(>100只),逐步收紧:
正文完