上一篇已經說明朱家泓的選股邏輯, 在此不在重複
XQ XS「選股腳本」,不要只做一個條件,而是做成「嚴格版」:只有趨勢、均線、紅K突破、量能四項同時成立才出現。
1. 我先把朱家泓邏輯「程式化」
| 朱家泓邏輯 | XS條件 |
|---|---|
| 頭頭高 | 今日突破近20日高點 |
| 底底高 | 10日低點 > 前一個10日低點 |
| MA5/10/20多頭 | MA5 > MA10 > MA20 |
| 股價站均線 | Close > MA5、MA10、MA20 |
| 均線上揚 | MA5 > MA5[1]、MA10 > MA10[1] |
| 紅K | Close > Open |
| 漲幅 >2% | Close > Close[1] × 1.02 |
| 突破前高 | Close > 前20日最高價 |
| 爆量 | Volume > 前5日均量 × 1.3 |
| 金叉 | MA5向上穿越MA10 |
其中「頭頭高、底底高」很難完全用數學精確描述,因此我用近期高點突破+近期低點逐步墊高來近似。這比單純寫「股價 > MA20」更接近我要的交易邏輯。
2. 修改朱家泓邏輯「程式化
但是如果要求:
突破+MA5/10金叉+紅K >2%+1.3倍量
條件會非常嚴格。
很多真正的主升段股票,在突破之前 MA5/MA10 已經黃金交叉,所以到了真正突破日,CrossOver(MA5,MA10) 已經不會再次成立。
也就是說:
你會漏掉很多好股票。
把「黃金交叉」從必要條件改成「多頭排列」。
也就是:
MA5 > MA10 > MA20 + 均線向上
而不是一定要今天才發生黃金交叉。
** 我更推薦再增加一個「成交量門檻」
這非常重要。
否則程式可能選出:
小型股、成交量只有幾百張,但突然放量1.3倍。
這種股票不一定適合你的策略。
例如加入:
Condition5 =
Average(Volume[1], 5) >= 1000;
這樣會變成:
朱家泓突破策略+流動性過濾
XQ官方的選股範例也會使用「前5日均量」作為流動性條件。
**但是我要修正一件事
我們原本程式
把:
「突破20日高」
設定成必要條件,會太硬。
例如一檔非常漂亮的主升段股票:今天可能已經非常接近前高:
距離前高只有 0.5%
但還沒有正式突破。
我們會:
❌ 不選
可是這種股票可能是明天最好的突破候選股。
所以不要讓程式只有:
「選」或「不選」
而是分成兩組。
🟢 A組:已突破
主升段確認
必須:
- MA5 > MA10 > MA20
- 均線向上
- 底底高
- 突破20日高
- 紅K
- 漲幅2~7%
- 量 ≥ 1.5倍
這就是:
A級:可以研究進場
🟡 B組:準備突破
條件:
- MA5 > MA10 > MA20
- 均線向上
- 底底高
- 距離20日高點 ≤ 3%
- 漲幅 ≥ 1%
- 成交量開始增加
這就是:
B級:明天觀察
KD怎麼處理?
反而可以把它變成:
「加分項」
而不是必要條件。
例如:
| 條件 | 分數 |
|---|---|
| MA5 > MA10 > MA20 | +20 |
| MA5/10/20向上 | +15 |
| 突破20日高 | +25 |
| 底底高 | +15 |
| 量 ≥ 1.5倍 | +15 |
| 漲幅2~7% | +5 |
| KD K>D | +5 |
| 總分 | 100 |
這樣就非常漂亮。
我們直接升級成:
朱家泓 V3.0「突破+準突破+評分」
最後每天只產生:
A級:真正突破 → Top 3
B級:即將突破 → Watchlist 5~10檔
C級:強勢但過熱 → 不追
一、V3.0 的邏輯
🟢 A級:突破確認
必須符合:
- MA5 > MA10 > MA20
- MA5、MA10向上
- 底底高
- 突破前20日高點
- 紅K
- 今日漲幅 2%~7%
- 今日量 ≥ 前5日均量 1.5倍
這是我們真正要找的:
主升段已經表態
🟡 B級:準突破
條件稍微放寬:
- MA5 > MA10 > MA20
- MA5、MA10向上
- 底底高
- 尚未突破20日高
- 但收盤距離前20日高 ≤3%
- 今日漲幅 ≥1%
- 今日量 ≥5日均量1.1倍
這種股票的意義是:
今天還沒突破,但已經站在突破點旁邊。
這類股票反而很值得隔天盯盤。
二、評分方式
我建議100分制:
| 條件 | 分數 |
|---|---|
| MA5 > MA10 > MA20 | 20 |
| MA5、MA10向上 | 10 |
| 底底高 | 15 |
| 突破20日高 | 25 |
| 成交量 ≥1.5倍 | 15 |
| 漲幅2~7% | 10 |
| KD K>D | 5 |
| 總分 | 100 |
所以:
90~100
🔥 S級
80~89
🟢 A級
70~79
🟡 B級
<70
不列入主要觀察。
三、XQ V3.0 程式
SetTotalBar(100);
Input:
BreakoutDays(20),
VolumeDays(5),
VolumeRatio(1.5),
NearBreakRatio(3),
MinRise(2),
MaxRise(7);
Variable:
MA5(0),
MA10(0),
MA20(0),
PrevHigh(0),
AvgVol5(0),
RisePct(0),
LowNow(0),
LowPrev(0),
Score(0),
Signal(0),
RSV(0),
KValue(0),
DValue(0);
MA5 = Average(Close, 5);
MA10 = Average(Close, 10);
MA20 = Average(Close, 20);
PrevHigh = Highest(High[1], BreakoutDays);
AvgVol5 = Average(Volume[1], VolumeDays);
RisePct = (Close / Close[1] - 1) * 100;
LowNow = Lowest(Low, 10);
LowPrev = Lowest(Low[10], 10);
Stochastic(9, 3, 3, RSV, KValue, DValue);
// ====================================
// 基本條件
// ====================================
TrendOK =
MA5 > MA10
and MA10 > MA20;
SlopeOK =
MA5 > MA5[1]
and MA10 > MA10[1]
and MA20 >= MA20[1];
PriceOK =
Close > MA5
and Close > MA10
and Close > MA20;
BottomOK =
LowNow > LowPrev;
RedK =
Close > Open;
VolumeStrong =
Volume >= AvgVol5 * VolumeRatio;
RiseOK =
RisePct >= MinRise
and RisePct <= MaxRise;
KDOK =
KValue > DValue;
// ====================================
// A級:突破確認
// ====================================
ACondition =
TrendOK
and SlopeOK
and PriceOK
and BottomOK
and Close > PrevHigh
and RedK
and RiseOK
and VolumeStrong;
// ====================================
// B級:準突破
// ====================================
BCondition =
TrendOK
and SlopeOK
and PriceOK
and BottomOK
and Close < PrevHigh
and Close >= PrevHigh * (1 - NearBreakRatio / 100)
and RisePct >= 1
and RisePct <= MaxRise
and Volume >= AvgVol5 * 1.1;
// ====================================
// 評分
// ====================================
Score = 0;
// MA多頭排列
if TrendOK then
Score = Score + 20;
// 均線向上
if SlopeOK then
Score = Score + 10;
// 底底高
if BottomOK then
Score = Score + 15;
// 突破20日高
if Close > PrevHigh then
Score = Score + 25;
// 量能
if Volume >= AvgVol5 * 1.5 then
Score = Score + 15
else if Volume >= AvgVol5 * 1.1 then
Score = Score + 8;
// 漲幅
if RisePct >= 2 and RisePct <= 7 then
Score = Score + 10;
// KD
if KDOK then
Score = Score + 5;
// ====================================
// 訊號分類
// ====================================
if ACondition then
Signal = 1
else if BCondition then
Signal = 2
else
Signal = 0;
// ====================================
// 最終選股
// ====================================
Ret =
ACondition
or BCondition;
// ====================================
// 輸出
// ====================================
OutputField(1, Signal, 0, "訊號");
OutputField(2, Score, 0, "評分");
OutputField(3, RisePct, 2, "漲幅%");
OutputField(4, Volume / AvgVol5, 2, "量比");
OutputField(5, Close / PrevHigh * 100, 2, "前高%");
OutputField(6, KValue, 1, "K值");
OutputField(7, DValue, 1, "D值");
四、V3.0 評分制度
最後我們不是只做「符合/不符合」。
而是評分。
| 條件 | 分數 |
|---|---|
| MA5 > MA10 > MA20 | 20 |
| 均線向上 | 10 |
| 底底高 | 15 |
| 突破20日高 | 25 |
| 成交量 ≥ 1.5倍 | 15 |
| 漲幅2~7% | 10 |
| KD K>D | 5 |
| 總分 | 100 |
九、A級與B級
🟢 A級:已突破
必須同時符合:
- MA5 > MA10 > MA20
- 均線向上
- 股價站三均線
- 底底高
- 突破20日高
- 紅K
- 漲幅2~7%
- 成交量1.5倍以上
這種股票代表:
主升段已經開始表態。
🟡 B級:準突破
不要求今天突破20日高。
但是:
距離20日高 ≤ 3%
同時:
- MA5 > MA10 > MA20
- 均線向上
- 股價站三均線
- 底底高
- 今日漲幅 ≥1%
- 成交量 ≥5日均量1.1倍
它代表:
還沒正式突破,但是已經站在起跑線附近。
所以 B級是:
「明天值得盯盤的候選股」
十、V3.0 最終的投資思維
整套邏輯其實可以濃縮成:
① 趨勢MA5 > MA10 > MA20↓② 均線向上↓③ 股價站上均線↓④ 底底高↓⑤ 接近/突破20日高↓⑥ 紅K表態↓⑦ 成交量放大↓⑧ 控制漲幅,避免追太高↓⑨ KD輔助↓⑩ 0~100分排名↓A級 / B級↓Top 3
最重要的一句話
V3.0不是「預測哪支股票會漲」。
而是:
等待股票自己證明它正在變強,再進場。
所以我們真正要找的是:
「趨勢向上+底部墊高+突破壓力+量價確認」
而不是:
今天漲幅最大。
V3.0 的交易順序
B級 → 等突破
A級 → 等隔日確認
A級 Top 3 → 才進一步做買點、停損、停利計算
這樣才符合我們一開始設定的「順勢動量突破」核心。
沒有留言 :