MACD(Moving Average Convergence Divergence,移動平均收斂/發散指標) 是最受歡迎的技術分析工具之一,
常用於 台指期、股票、外匯、加密貨幣 等市場。
MACD 黃金交叉 是交易者最常使用的 多頭訊號,當 MACD 線向上穿越信號線時,代表市場動能轉強,適合進場做多!
本篇文章將深入解析 MultiCharts MACD 程式交易策略,透過 PowerLanguage 撰寫 MACD 黃金交叉買入程式碼,
並進一步擴展 死亡交叉賣出、停損停利、多時間框架交易、參數優化 等進階策略,讓交易策略更加穩健!
以下這段程式碼是 MACD 黃金交叉策略的訊號,適用於 MultiCharts 自動交易系統,
當 MACD 柱狀圖突破零軸時買入,透過 程式化交易執行交易指令。
大家可以了解內容後,複制到 MultiCharts的PowerLanguage Editor中來做編譯及使用。
Inputs: FastLength(12), SlowLength(26), MACDLength(9);
關鍵參數解釋:
**這些參數可透過 MultiCharts 的 參數優化(Optimization) 找出最佳組合,提高交易勝率!
Vars: var0(0), var1(0), var2(0);
var0 = MACD(Close, FastLength, SlowLength);
var1 = XAverage(var0, MACDLength);
var2 = var0 - var1;
關鍵變數計算邏輯:
condition1 = CurrentBar > 2 and var2 crosses over 0;
交易條件:
if condition1 then Buy ("MacdLE") next bar at market;
交易邏輯:
目前程式只包含 黃金交叉買入策略,如果想在 MACD 死亡交叉時賣出,可以加入以下條件:
condition2 = CurrentBar > 2 and var2 crosses under 0;
if condition2 then Sell ("MacdSE") next bar at market;
當 MACD 柱狀圖由正轉負(死亡交叉)時,執行市價賣出!
MACD 本身無法提供停損與停利機制,因此可以手動設定 固定停損 / 停利,提升交易穩定性!
Inputs: StopLoss(500), TakeProfit(1000);
if MarketPosition = 1 then begin // 停利機制
if Close - EntryPrice >= TakeProfit then Sell ("TakeProfit") next bar at market; // 停損機制
if EntryPrice - Close >= StopLoss then Sell ("StopLoss") next bar at market;
end;
設定風控條件:
MACD 容易產生假突破,可透過 多時間框架(Multi Time Frame, MTF) 確認趨勢!
variables: HigherTimeFrameMACD(0);
HigherTimeFrameMACD = MACD(Close, FastLength, SlowLength);
condition3 = HigherTimeFrameMACD > 0 and var2 crosses over 0;
if condition3 then Buy ("MacdLE_SingleTF") next bar at market;
交易邏輯:
如何找到最適合的 MACD 參數?
以上就是本篇文章說明的程式碼內容,不難吧!快點來試用吧。
以下這個圖示就是實際的訊號呈現內容;
以下這個圖示就是實際進出買賣點的訊號呈現內容:
~當您設定自動交易後,MultiCharts會自動幫您執行買賣點。自動停利跟自動停損。您完全不用動手喔~
如果你想學習 MACD 自動交易、程式化交易策略、多時間框架分析,,歡迎關注我們,掌握更多 MultiCharts程式交易技巧!
趕快加入MultiCharts試用,
即刻免費使用市價5萬元以上的頂極程式交易工具一個月,機會難得!!