條件選股公式的完整改造指南)
簡介這是一份面向通達信軟件用戶的選股公式源碼文檔旨在通過多項技術(shù)指標共振條件篩選具備上漲潛力的個股適合有一定技術(shù)分析基礎(chǔ)、希望通過公式化方式輔助選股的投資者。壓縮包內(nèi)共1個doc文檔大小約20KB文檔包含完整的通達信指標公式源碼并對DIF、DEA、BOLL等核心指標的編寫思路與含義進行了說明。公式要求同時滿足收盤價高于開盤價、成交量較前一日放大兩倍、MACD形成金叉且DIF不大于0、以及收盤價突破布林帶中軌等條件本質(zhì)上結(jié)合了趨勢、動能與量價關(guān)系可在通達信軟件中直接加載使用。目前已吸引158人學(xué)習(xí)。對于想理解選股邏輯并嘗試自定義條件的用戶來說這份文檔提供了可復(fù)用的源碼與參數(shù)注釋方便在此基礎(chǔ)上調(diào)整周期或閾值形成自己的策略。1. “精準找牛選股”背后其實是一套公式轉(zhuǎn)換流程很多人在網(wǎng)盤、股票論壇里下載到《精準找牛選股.doc》這類文件打開后復(fù)制出長長一段通達信指標公式源碼第一反應(yīng)就是粘進公式管理器。結(jié)果要么提示“缺少分號”要么副圖確實畫出了紅綠柱但打開“條件選股”列表卻根本找不到它更別說自動批量篩股票。問題不在公式本身而在絕大多數(shù)這類文檔只提供副圖指標源碼不提供條件選股公式。副圖指標負責(zé)把信號畫在 K 線下方條件選股公式負責(zé)在收盤后掃全市場返回真或假兩者在通達信里是兩套不同的公式類型只有把指標邏輯改造成一秒返回布爾值的代碼才算完成從“看圖”到“選股”的跨越。這篇內(nèi)容要做的就是講清這段轉(zhuǎn)換路徑指標公式怎么讀、選股公式怎么寫、參數(shù)怎么調(diào)、未來函數(shù)怎么避開以及跑完結(jié)果后如何驗證信號質(zhì)量。2. 指標公式與選股公式的區(qū)別先懂“畫線”和“出結(jié)果”的差異2.1 三種公式類型的分工不要搞混通達信公式管理器里新建公式時會看到多個分類最常用的是“技術(shù)指標公式”“條件選股公式”和“五彩 K 線公式”。它們共用同一套語法內(nèi)核但契約完全不同。公式類型輸出方式能否直接用于選股技術(shù)指標公式在主圖或副圖輸出線、柱、文字、圖標允許同時輸出多條線不能選股器不讀取繪圖結(jié)果條件選股公式最終只輸出一個布爾值1 或 01 表示滿足條件能條件選股和預(yù)警直接調(diào)用五彩 K 線公式按條件給 K 線涂色用于視覺識別不能它只是著色規(guī)則“精準找牛選股”這種標題本質(zhì)上是把指標和選股兩件事合在一起賣。但源碼往往只寫了副圖部分所以拿到源碼后的標準動作是先判斷它屬于哪種類型再決定是直接放條件選股還是先做輸出改造。凡是代碼里出現(xiàn)STICKLINE、DRAWICON、DRAWTEXT、DRAWBAND這類繪圖函數(shù)的幾乎可以斷定是技術(shù)指標公式不能直接出現(xiàn)在選股器列表里。2.2 牛股邏輯在通達信里怎么變成條件所謂“精準找?!背R娺壿嫴皇悄囊粋€神秘函數(shù)而是幾組條件疊加趨勢、量能、突破、動量。趨勢用均線排列表達比如 5 日線在 10 日線上方、10 日線在 20 日線上方量能用成交量與近期均量的比值表達突破用收盤價突破過去 N 日最高價表達動量用 MACD 的 DIF 與 DEA 關(guān)系表達。把這些寫成一串判斷式代碼層面并不難。難點在于選股公式要求“最后一行作為結(jié)果”而且所有中間變量必須用:賦值不能產(chǎn)生多個輸出。很多人在這一步栽跟頭中間行少寫一個冒號公式管理器立刻提示“輸出變量過多”或者把指標公式里畫柱子的那行直接留下導(dǎo)致條件選股結(jié)果變成一條價格曲線而不是 0/1 判斷。2.3 同一段邏輯的指標版與選股版對比先看一個典型的指標版寫法M5:MA(CLOSE,5); M10:MA(CLOSE,10); M20:MA(CLOSE,20); JX:IF(M5M10 AND M10M20, 1, 0); 量比:VOL/MA(VOL,5); STICKLINE(JX1,0,量比,3,0),COLORRED;這段代碼可以在副圖畫出紅色柱子表示當前處于均線多頭狀態(tài)。但把它直接放進條件選股公式會怎樣STICKLINE在選股公式里沒有意義而且最后一行并不是一個可判斷真假的表達式。改造后的選股版應(yīng)該長這樣M5:MA(CLOSE,5); M10:MA(CLOSE,10); M20:MA(CLOSE,20); JX:M5M10 AND M10M20; 選股:JX AND VOLMA(VOL,5)*1.3;最后一行“選股”就是這個條件的最終輸出返回 1 表示滿足返回 0 表示不滿足。兩版對比能看出改造的核心不是重寫邏輯而是去掉繪圖、合并條件、鎖定唯一輸出。這個原則貫穿所有 doc 里的指標源碼轉(zhuǎn)換。3. 把源碼改造成通達信選股公式標準改法與參數(shù)設(shè)置3.1 新建條件選股公式的正確入口在通達信客戶端里按CtrlF打開公式管理器點擊“新建”先選擇“條件選股公式”分類再填寫公式名稱例如“精準找牛選股”。這里有一個普遍誤區(qū)很多人直接在原有副圖指標上點“修改”改完保存后它仍然在技術(shù)指標分類下選股器永遠不會加載它。必須在新建時選對分類。代碼寫完后先點“測試公式”通過后再“確定”。如果測試區(qū)提示語法錯誤會定位到具體行號比如“缺少操作數(shù)”這時回到代碼里檢查括號是否成對、條件里是否出現(xiàn)中文標點。習(xí)慣上我會把所有逗號、括號、分號全部用英文半角變量名只用字母和數(shù)字避免簽名、特殊符號混入。3.2 一個可以直接改的選股公式骨架下面這段骨架是常見的“突破前高 多頭排列 放量”組合適合作為起點改造N1:20; N2:5; M5:MA(CLOSE,5); M10:MA(CLOSE,10); M20:MA(CLOSE,20); 量均:MA(VOL,N2); 平臺高:REF(HHV(HIGH,N1),1); 多頭:M5M10 AND M10M20; 放量:VOL量均*1.3 AND CLOSEOPEN; 突破:CLOSE平臺高; 選股:多頭 AND 放量 AND 突破;代碼里要注意平臺高的寫法。HHV(HIGH,20)表示最近 20 個周期最高價但今天是這 20 天之一如果直接用CLOSEHHV(HIGH,20)當今天股價創(chuàng)新高時自身也參與比較條件永遠成立。正確做法是REF(HHV(HIGH,20),1)取昨天為止的 20 日最高價再用今天的收盤價去突破它。這個細節(jié)是“精準找?!边@類突破型選股公式能不能用的關(guān)鍵。量均用 N2 日成交量均值作為基準放量同時要求收盤大于開盤過濾掉放量下跌。實際使用中可以把*1.3改成參數(shù)讓公式管理器里的參數(shù)優(yōu)化功能自動掃描不同倍率下的選股數(shù)量。3.3 參數(shù)化讓閾值變成可調(diào)旋鈕公式里寫死數(shù)字每次改條件都要重新編輯代碼。更規(guī)范的做法是把閾值提升為參數(shù)在公式開頭聲明這樣可以在公式管理器的參數(shù)列表里直接調(diào)整也能接入通達信的“參數(shù)優(yōu)化”功能。參數(shù)默認值建議范圍調(diào)大后的效果N12010~60突破參考的前高周期變長更偏中期趨勢信號減少N253~10量能均線周期變長對單日放量不敏感V_RATIO1.31.1~2.0放量倍數(shù)提高條件收緊明顯減少選股數(shù)量參數(shù)改動后要重新測試公式。注意通達信參數(shù)名不能與系統(tǒng)函數(shù)同名比如不要用VOL、HHV作為參數(shù)名否則公式直接報錯。調(diào)參時不要追求一步到位建議先用寬松參數(shù)跑出 30 到 50 只股票再逐步收緊到 10 只以內(nèi)這樣能感覺出每個參數(shù)控制的是哪一類形態(tài)。3.4 用 COUNT 與 FILTER 控制信號密度突破類公式有一個常見毛病一只股票連續(xù)幾天收盤價都高于前高選股器就天天把它選出來結(jié)果列表被同一只股票刷屏。這時可以用COUNT限制信號出現(xiàn)頻率例如要求最近 3 天內(nèi)第一次信號才入選突破條件:CLOSE平臺高; 突破啟動:突破條件 AND NOT(REF(突破條件,1)); 選出:COUNT(突破啟動,3)1 AND 突破啟動;REF(突破條件,1)是看昨天的條件是否已經(jīng)成立NOT取反后表示“昨天沒突破今天突破”。外層再套COUNT(…,3)1表示近 3 天至少出現(xiàn)過一次這個“突破啟動”動作。這能保留主升浪剛起步的那根信號過濾掉連續(xù)處于高位平臺的重復(fù)信號。4. 實戰(zhàn)搭一個三層過濾公式趨勢、量能、動量4.1 三層過濾的設(shè)計思路上一章給出的骨架只有趨勢和量能兩層實戰(zhàn)里容易被日內(nèi)情緒干擾。更穩(wěn)的做法是再加一層動量確認構(gòu)成“趨勢 量能 動量”三層過濾。趨勢層保證股票在上漲通道里量能層保證資金在進場動量層保證短期動能沒有衰竭。三者同時滿足才輸出最終信號。下面這個完整公式可以直接復(fù)制到條件選股公式里測試參數(shù)部分集中在開頭方便后續(xù)調(diào)整SHORT:12; LONG:26; MID:9; M5:MA(CLOSE,5); M10:MA(CLOSE,10); M20:MA(CLOSE,20); M60:MA(CLOSE,60); DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:EMA(DIF,MID); MACD值:(DIF-DEA)*2; 平臺高:REF(HHV(HIGH,20),1); 趨勢:CLOSEM60 AND M5M10 AND M10M20; 量能:VOLMA(VOL,5)*1.2; 動量:DIFDEA AND MACD值REF(MACD值,1); 突破:CLOSE平臺高; 選股:趨勢 AND 量能 AND 動量 AND 突破;注意MACD值:使用了賦值寫法不會產(chǎn)生輸出。如果你照搬網(wǎng)上 MACD 副圖源碼里面通常寫的是MACD:(DIF-DEA)*2;單冒號意味著輸出一條線放進選股公式就會報“輸出變量過多”而且顏色函數(shù)、柱線粗細參數(shù)也會一起報錯。4.2 參數(shù)與靈敏度調(diào)整這套公式共 4 組可調(diào)參數(shù)MACD 的 SHORT、LONG、MID以及放量倍數(shù)。MACD 參數(shù)建議保持默認 12、26、9因為 DIF 和 DEA 的交叉周期已經(jīng)被市場廣泛驗證改動后選出的股票往往偏離標準節(jié)奏。真正值得調(diào)的是放量倍數(shù)和平臺周期。放量倍數(shù)的參考標準是牛市環(huán)境下*1.2會選出上百只需要配合其他條件繼續(xù)壓震蕩市里*1.5可能一個月選不出幾只說明市場整體縮量不是公式出問題。平臺周期 20 天適合日線如果看周線選股建議改成 10 周即前 10 周高點作為平臺壓力。4.3 未來函數(shù)與信號漂移的排查“精準找?!鳖惞阶钚枰岱赖氖俏磥砗瘮?shù)。所謂未來函數(shù)就是公式在計算當前 K 線信號時偷偷引用了未來數(shù)據(jù)導(dǎo)致收盤后回看的信號位置和當時實盤完全不同。常見的未來函數(shù)包括BACKSET、ZIG、PEAK、TROUGH、DRAWLINE、CURRBARSCOUNT等。排查方法很簡單在 doc 源碼里搜索這些關(guān)鍵詞。一旦出現(xiàn)BACKSET基本可以判定該公式只適合“畫圖裝好看”不適合直接做選股。CURRBARSCOUNT在條件選股公式里也經(jīng)常被用來定位最后一根 K 線這會讓歷史每一天的選股結(jié)果都不一樣屬于典型的信號漂移源。選股公式的正確約束是所有比較都基于當前周期及之前的數(shù)據(jù)不引用任何“未來”位置的返回函數(shù)。提示不要把副圖指標里的信號位置當作選股信號歷史回測結(jié)果。副圖可以在 K 線中間位置畫箭頭選股只能在每根 K 線收盤后判斷一次兩者天然有時間差。4.4 常見運行報錯與修正實戰(zhàn)中遇到最多的是下面幾類問題對照排查比反復(fù)改邏輯更快現(xiàn)象根因處理方式“缺少分號”或“缺操作數(shù)”公式里混入全角括號、中文逗號把括號逗號全部替換成英文半角“輸出變量過多”中間行用了:而不是:除了最后一行全部改成:“變量未定義”引用了其他副圖指標名稱把所依賴的源碼復(fù)制粘貼進當前公式選股結(jié)果為 0條件交集太苛刻先放寬量能倍數(shù)到 1.1再逐步收緊收盤選股與盤中預(yù)警數(shù)量差異大盤中觸發(fā)后價格回落收盤條件不再成立預(yù)警時增加“當日漲幅大于 0”之類的保護條件每次修改后點“測試公式”測試通過不等于邏輯正確還要把范圍切成“自選股”快速看幾眼選出的股票是否符合預(yù)期再放倒全市場跑。5. 從 doc 到選股器源碼落地與信號驗證的 5 個細節(jié)5.1 復(fù)制 doc 源碼前先做文本清洗從 Word 文檔復(fù)制通達信公式源碼最容易踩的是不可見字符。Word 會自動把英文引號變成中文引號、英文括號保留但前后全角空格混入這類字符在公式管理器里會變成紅色報錯點。粘貼前先在編輯器里做三個替換全角括號替換成半角括號全角空格替換成半角空格中文冒號替換成英文冒號。如果源碼第一行是{精準找牛副圖}這類注釋花括號保留它屬于通達信合法注釋。5.2 選股范圍與結(jié)果歸檔運行選股時建議進入“功能 → 選股器 → 條件選股”選股范圍從“全部 A 股”改為“滬深 A 股”執(zhí)行前勾選“選股結(jié)果放入板塊”新建一個名為“牛股池”的板塊。這樣每次結(jié)果都累計在一塊方便橫向比較連續(xù)幾天的候選股變化。5.3 用三日表現(xiàn)檢驗信號有效性選股公式跑完后人工驗證比迷信“全網(wǎng)最準”更可靠。把結(jié)果按照信號日期分組隨機抽取 10 只手動翻看信號出現(xiàn)后 3 天的 K 線統(tǒng)計有多少只 3 日內(nèi)最高價繼續(xù)上漲。如果少于 6 只說明條件偏左側(cè)需要加強動量層如果超過 8 只往往說明條件過于保守雖然精準但選出的機會太少。判斷標準不是勝率越高越好而是回看收益是否對得起等待時間。5.4 備份公式文件通達信公式保存在安裝目錄T0002下重裝軟件或更換電腦前直接備份整個T0002目錄。公式管理器里導(dǎo)出的文件通常是 .tn6 格式但光標公式、預(yù)警設(shè)置散落在不同位置復(fù)制整個目錄最穩(wěn)妥。把寫好的精準找牛選股公式單獨導(dǎo)出分享給同事之前記得先移除依賴的外部指標引用否則對方測試時同樣會卡在“變量未定義”。5.5 用數(shù)量檢視法反推參數(shù)合理性每天收盤后跑一次統(tǒng)計選股數(shù)量是一個極便宜的診斷手段。數(shù)量長期超過 50 只說明條件太寬命中率必然稀釋數(shù)量連續(xù)一周為 0說明參數(shù)與當前市場風(fēng)格不匹配。調(diào)整邏輯順序是先放寬量能再到動量保持趨勢和突破條件不變直到每天能穩(wěn)定產(chǎn)出 5 到 20 只候選股再回頭精確打磨量價閾值。本文還有配套的精品資源點擊獲取