教學實驗
兩層 EMA 怎樣把轉折延遲寫進指標
用 2024 上半年固定 BTCUSDT 日線重算 12/26/9 MACD,保留暖機與種子;只測量時間差,不把交叉包裝成策略。
只供教育用途;不是財務建議,也不是交易訊號。
讀者最常問的問題
- 182 根日線是否足夠包含暖機?
- 快慢 EMA 和訊號 EMA 怎樣逐層更新?
- 價格轉折要如何事前定義?
- 交叉延遲能否稱為推斷失敗?
- 實驗為何不報告交叉後的回報?
這一頁想讓你弄懂的事
- 驗證固定資料與時間順序。
- 輸出快慢 EMA、MACD、訊號和柱體。
- 分開轉折發生與轉折確認時間。
- 說明雙重平滑的滯後來源。
重點段落
雙重平滑決定實驗問題
價格先進入 12 與 26 期 EMA,差值再進入 9 期訊號 EMA。新資料在每層只佔部分權重,因此訊號線和柱體不可能在所有轉折都與原始價格同步。
實驗測量這種機械延遲,不評價它好或壞。
種子必須完整披露
快慢 EMA 可用各自前 n 期 SMA 作首值,訊號線再以可用 MACD 值啓動。若改用第一筆價格,早期結果會不同。
清單保留更早暖機資料與未取整中間值;只比較穩定區段仍要註明種子。
價格轉折也有確認延遲
若 pivot 需要左右各兩根,價格高點只有兩日後纔可確認。把交叉日期與高點當日直接比較,會把指標延遲和轉折確認延遲混在一起。
輸出同時保存發生日、確認日與交叉日,避免偷看未來。
延伸說明
交叉只在收盤資料上確認
日線尚未結束時,close 與所有 EMA 會持續更新,盤中交叉可能消失。本實驗只用完整 UTC 日線,不重建盤中狀態。
因此結果不能回答盤中委託能否在某價格成交。
柱體轉向不是價格轉向
柱體從增加變為減少,只說明 MACD 與訊號線差距縮小。價格可以繼續同方向,只是平滑後的變化率關係改變。
實驗將兩類日期分欄,不把柱體峯值命名為市場頂部。
延遲不是固定常數
急劇變化、緩慢趨勢、震盪和參數都會改變交叉相對轉折的日數。有些交叉發生在轉折確認前,有些很晚,也可能沒有可配對事件。
頁面報告每個事件差異與未配對數,不用平均值掩蓋分佈。
事件重疊需要冷卻規則
震盪中連續交叉若各自配到同一轉折,會膨脹樣本。實驗為每個已確認 pivot 只保留預設窗口內首次符合事件,其餘標記重複。
規則在計算前固定,不能看到結果後挑最近交叉。
參數敏感度只作機制比較
若附帶比較其他參數,必須完整展示並用同一種子、資料和事件定義。參數較快通常減少某些延遲,也會增加交叉數量。
這不是尋找最佳組合,更不能從一個半年樣本宣稱未來有效。
資料缺口會污染所有後續 EMA
缺一根日線會讓相鄰價格差跨越更長時間,刪除或補值都會影響遞推。實驗先驗證時間間隔,發現缺口就停止而非自動插值。
原始檔、下載 URL 和哈希保留在歷史資料記錄中。
真實截圖只覈對公式
站內 MACD 證據圖來自 TradingView 公開說明頁,記錄來源和日期,不含賬戶資料。它用來覈對三序列關係,不是本實驗的行情結果圖。
實驗數據來自公共 API,二者來源目的分開。
為何不輸出回報
從交叉到交易還需入場時點、退出、數量、費用、滑價與未成交處理。本實驗沒有這些規則,輸出回報會製造不存在的策略。
可覈驗結論僅限某參數下各平滑序列的歷史響應。
零軸事件與交叉事件不能混合
MACD 穿越零軸表示快慢 EMA 相等附近,MACD 穿越訊號線則比較差值與其平滑。兩類事件可能相隔多日,也可能順序不同。
實驗為每類事件使用獨立欄位與配對規則,不把任何一個稱為另一個的確認。
暖機不足會讓早期延遲失真
若研究從 1 月 1 日開始卻只下載當日後資料,26 期 EMA 與訊號線在前段高度依賴種子。實驗資料應包含研究窗口前的額外日線,展示窗口才從暖機後開始。
若歷史接口無法提供足夠前置資料,前段標記為不可用,不用填零。
日期差要按交易日還是自然日寫清楚
全天加密市場每天都有 K 線,日序號與自然日通常一致;其他市場有周末和假期,差三根 K 線不一定差三天。
實驗同時保存 K 線索引差與 UTC 時間差,使結果能跨資料頻率理解。
平臺顯示值只用於交叉覈對
若將本地輸出與圖表平臺比較,應固定同一交易所、close 來源、參數和已完成日期,並允許顯示四捨五入。逐欄一致後,才比較事件日期。
一張線條相似截圖不能證明種子與內部精度相同;差異無法解釋時保留未驗證狀態。
延遲不是一個固定的 K 線數字
MACD 由兩條不同速度的 EMA 相減,再以另一條 EMA 平滑差值。當價格緩慢轉向、突然跳空或先震盪後加速時,交叉出現的時間不會相同,所以不能宣稱指標永遠延遲三根或五根 K 線。實驗應先固定收盤序列與參數,再把價格局部高低點、MACD 轉折、訊號線交叉分成三個事件記錄。
起始值同樣會影響前段。若資料只從觀察窗口當天開始,EMA seed 尚未穩定,最早一批輸出會與使用更長歷史資料的平台不同。較可靠的比較會加入預熱資料,隱藏或標註預熱區,並保存每一步 fast EMA、slow EMA、MACD 與 signal 的未四捨五入值。
交叉之後的價格變動只能作為描述,不是成功標籤。若挑選明顯趨勢段而排除盤整段,結果會產生選擇偏差;若同一波動連續交叉多次,又只保留最後一次,也會誇大穩定性。本實驗因此展示完整固定序列,不計方向命中比例、不設定買賣規則,也不把 histogram 正負當成收益證據。
用兩段相反速度的路徑檢查反應
可先建立緩慢上升後緩慢下降的序列,再建立相同總變動但集中在少數 K 線的序列。兩者起終點相同,EMA 路徑和交叉時間卻不同,能直接顯示「延遲」依價格路徑而變。
每個案例都應保存完整輸入,不只截交叉附近。若後段資料被加入後再回頭挑選最漂亮的一段,便已使用未來資訊。實驗輸出只比較反應速度,不把較早交叉稱為較好交易。
教學邊界
教學情景:固定歷史資料只用於方法與公式查核;不是回測。輸出只比較轉折確認與指標事件的時間差。
使用的資料集
macd-lag-btcusdt-1d-2024-h1
操作步驟
- 驗證 2024 上半年 UTC 日線連續、升序且哈希一致。
- 固定 EMA 種子、暖機與 12/26/9 參數。
- 逐日計算快慢 EMA、MACD、訊號和柱體。
- 以事前 pivot 規則確認價格轉折並記錄確認延遲。
- 比較日期差,不把交叉轉成買賣規則。
結果怎麼讀
雙重平滑使 MACD 對價格變化產生條件依賴的歷史延遲;延遲大小不是固定常數,也不是未來方向資訊。
₹ 計算示例
- 情境
- 某日快 EMA ₹105、慢 EMA ₹100,訊號線 ₹3。
- 計算過程
- MACD=₹5,柱體=₹2;下一日數值需依新收盤遞推。
- 怎麼解讀
- 這組差值只描述當時平滑關係,不推斷下一日。
常見的誤會
把完整歷史圖上最近的價格高點與最近的 MACD 交叉配對,忽略 pivot 當時尚未確認,也忽略其他未配對交叉。
自我檢查清單
- 驗證資料日期、行數、順序與哈希。
- 記錄三組 EMA 種子和暖機。
- 保留未四捨五入中間值。
- 轉折發生與確認日期分開。
- 交叉只用已完成日線。
- 重複與未配對事件完整報告。
- 不輸出成功比例、回報或方向建議。
這一頁的限制
- 半年日線樣本不代表其他時期或時間框架。
- 種子、參數和轉折規則會改變日期。
- 日線無法重建盤中交叉與成交。
- 沒有交易規則,因此不存在合法回測結果。
- 零軸、訊號線與柱體轉向是不同事件,不可合併計數。
- 複覈結果須保留資料哈希與公式版本。
風險提示
本實驗只比較固定日線價格與 MACD 三序列的時間關係;沒有事後成功比例、交易規則、費用或收益,交叉不構成行動訊號。
資料來源
- www.tradingview.com核對於 2026-08-02
- www.tradingview.com核對於 2026-08-02
- developers.binance.com核對於 2026-08-02
- data-api.binance.vision核對於 2026-08-02
- www.itl.nist.gov核對於 2026-08-02
- www.fidelity.com核對於 2026-08-02