XQ指標腳本:MACD變相,根據 0 軸位置與趨勢方向改變柱狀圖顏色

更新 發佈閱讀 12 分鐘
投資理財內容聲明

免責聲明:請注意,本文內容僅分享個人改寫的常用的技術工具,一切內容僅供參考,完全不涉及任何投資買賣建議。


1. 指標概述

XQ: MACD 指標 - 根據 0 軸位置與趨勢方向改變柱狀圖顏色(Moving Average Convergence Divergence Indicator with Dynamic Histogram Coloring)是一款基於XS程式語言撰寫的技術指標腳本,適用於XQ交易平台(如XQ Trader)。此指標基於經典MACD(移動平均收斂發散指標),由Gerald Appel於1979年提出,旨在通過價格的快速與慢速指數移動平均(EMA)差值,捕捉市場趨勢的強弱與轉折點。腳本的特色在於根據MACD柱狀圖(Histogram)的值相對於0軸的位置(正/負值)以及趨勢方向(向上/向下),使用不同的Plot繪製柱狀圖,允許使用者在XQ平台自訂顏色,從而直觀區分多空動能與趨勢變化。

此指標通過視覺化的柱狀圖設計,幫助交易者快速識別多頭或空頭動能的增強與減弱,特別適用於股票、期貨或其他價格波動市場。腳本使用加權收盤價(WeightedClose)作為計算基礎,考慮開高低收的權重,提升對成交量敏感度,適用於趨勢追蹤或震盪市況下的交易決策。

2. 輸入參數說明

腳本提供三個可調整的輸入參數,讓使用者根據市場特性或時間框架自訂指標的靈敏度:

  • FastLength(10, "DIF 短天數"):MACD的快速移動平均週期,預設值為10。數值越小,對短期價格波動越敏感,適合短線交易。
  • SlowLength(20, "DIF 長天數"):MACD的慢速移動平均週期,預設值為20。數值越大,能過濾短期雜訊,適合捕捉中長期趨勢。
  • MACDLength(7, "MACD 天數"):MACD訊號線(DEA)的平滑週期,預設值為7。影響訊號線的平滑程度,數值越小,訊號越靈敏。

這些參數可透過XQ平台的指標設定介面調整,例如在分鐘線圖上縮短FastLength(e.g., 6)以提高靈敏度,或在日線圖上延長SlowLength(e.g., 26)以強調長期趨勢。參數以K棒數為單位,需與圖表頻率匹配。

3. 變數與計算邏輯

腳本的計算邏輯嚴謹,遵循XS語言規範(如使用內建函數XAverage進行EMA計算,避免自寫計算式)。以下是主要變數和計算步驟的詳細說明:

  • 變數宣告
    • price(0):儲存加權收盤價,作為MACD計算的基礎。
    • difValue(0):MACD的DIF值(快速EMA與慢速EMA的差值)。
    • macdValue(0):MACD的訊號線(DEA)值,對DIF進行EMA平滑。
    • oscValue(0):MACD柱狀圖值(DIF與DEA的差值)。
    • trendUp(false):判斷柱狀圖趨勢方向,true表示向上趨勢。
    • dif_str("") 和 macd_str(""):用於圖表標籤的字串,顯示參數組合。
  • MACD計算邏輯
    • 加權收盤價:price = WeightedClose();,使用XS內建函數,計算開高低收的加權平均,提升價格序列的穩定性。
    • DIF計算:difValue = XAverage(price, FastLength) - XAverage(price, SlowLength);,計算快速EMA(FastLength)與慢速EMA(SlowLength)的差值,形成DIF線。
    • DEA計算:macdValue = XAverage(difValue, MACDLength);,對DIF進行EMA平滑,生成訊號線。
    • 柱狀圖計算:oscValue = difValue - macdValue;,DIF與DEA的差值形成柱狀圖,反映動能強弱。
    • 趨勢判斷:trendUp = oscValue > oscValue[1];,比較當前柱狀圖值與前一根K棒的值,若當前值大於前值,則視為向上趨勢。
    • 數據穩定性處理:if CurrentBar <= SlowLength then begin ... end;,在初始K棒數(小於SlowLength)時,將DIF、DEA和柱狀圖值設為0,避免前期數據波動過大影響圖表穩定性。

腳本使用XS內建函數XAverage和WeightedClose,確保計算高效且符合規範。無需陣列或多期數據調整,適用於標準K線圖。

4. 輸出與圖表呈現

腳本輸出多條線條和柱狀圖,使用Plot函數繪製,支持checkbox顯示控制。柱狀圖根據0軸位置與趨勢方向使用不同Plot,使用者在XQ平台可自訂顏色(如綠色/紅色)。輸出元素如下:

  • Plot1(difValue, "DIF"):DIF線,標籤為dif_str(如"DIF10-20")。顯示快速與慢速EMA的差值,反映趨勢收斂/發散。
  • Plot2(macdValue, "MACD"):DEA線(訊號線),標籤為macd_str(如"MACD7")。用於與DIF比較,生成交叉訊號。
  • Plot7(oscValue, "Osc"):基礎柱狀圖繪圖,作為後續條件覆蓋的基準。
  • 條件柱狀圖繪圖(根據oscValue相對於0軸及趨勢方向):
    • 若oscValue >= 0(0軸以上):若trendUp為true:Plot3(oscValue, "Osc++"),表示正值向上趨勢(建議設綠色粗柱)。若trendUp為false:Plot4(oscValue, "Osc+-"),表示正值向下趨勢(建議設綠色細柱)。
    • 若oscValue < 0(0軸以下):若trendUp為true:Plot5(oscValue, "Osc-+"),表示負值向上趨勢(建議設紅色細柱)。若trendUp為false:Plot6(oscValue, "Osc--"),表示負值向下趨勢(建議設紅色粗柱)。

圖表通常顯示在副圖區域,柱狀圖顏色與樣式由XQ平台設定,提升多空動能的視覺辨識度。標籤使用setplotLabel動態生成,清晰顯示參數配置。

5. 使用建議與解讀

  • 趨勢確認
    • 金叉/死叉:當DIF(Plot1)向上穿越DEA(Plot2)時,為潛在買入訊號(金叉);向下穿越為賣出訊號(死叉)。
    • 柱狀圖動能:正值柱狀圖("Osc++"或"Osc+-")擴大表示多頭動能增強,建議追多;負值柱狀圖("Osc-+"或"Osc--")擴大表示空頭動能增強,考慮做空或出場。
    • 趨勢方向:趨勢向上("Osc++"或"Osc-+")表示動能增強,適合順勢交易;趨勢向下("Osc+-"或"Osc--")可能預示動能減弱或反轉。
  • 背離訊號:觀察柱狀圖與價格的背離。例如,價格創新高但柱狀圖縮小(動能減弱),可能預示反轉風險。
  • 參數調整
    • 短線交易:縮短FastLength(e.g., 6)與MACDLength(e.g., 5),提高靈敏度。
    • 長線投資:延長SlowLength(e.g., 26)與MACDLength(e.g., 9),過濾雜訊。
    • 測試時確保參數與圖表頻率(如分鐘線或日線)匹配。
  • 結合其他指標:可與K線形態、RSI或支撐壓力位搭配。例如,柱狀圖"Osc++"時結合價格突破壓力位,確認買入訊號。
  • 注意事項
    • 腳本使用加權收盤價,適合權重敏感市場(如台股)。不適用於無價格數據的商品。
    • 初始SlowLength根K棒不繪製,確保數據穩定,適合中長期分析。
    • 柱狀圖顏色需在XQ平台手動設定,建議正值用綠色、負值用紅色,趨勢方向用粗細區分。
    • 腳本未包含警報功能,若需可添加交叉條件(如CrossAbove(difValue, macdValue))。
    • 已自我檢查,遵守XS指標規範(如Plot無顏色定義,僅序列值與標籤),無陣列或多期數據,執行高效。

6. 結論

此MACD指標腳本通過動態柱狀圖設計,結合0軸位置與趨勢方向,提供直觀的多空動能分析。使用者可根據市場需求調整參數,並在XQ平台自訂視覺效果,適用於多種交易場景。腳本邏輯清晰、註解詳盡,符合XS規範,適合直接應用或進一步擴展(如添加警報或多時間框架)。如需進階修改,請參考XQ官方文件(https://www.xq.com.tw/xstrader/%E6%8A%80%E8%A1%93%E6%8C%87%E6%A8%99a-z/)。

// XQ: MACD 指標 - 根據 0 軸位置與趨勢方向改變柱狀圖顏色
// 0 軸以上:趨勢向上為一種顏色,向下為另一種顏色
// 0 軸以下:趨勢向上為一種顏色,向下為另一種顏色
// 顏色由使用者在 XQ 平台自行設定
//

input:
FastLength(10, "DIF 短天數"),
SlowLength(20, "DIF 長天數"),
MACDLength(7, "MACD 天數");

variable:
dif_str(""),
macd_str(""),
price(0),
difValue(0),
macdValue(0),
oscValue(0),
trendUp(false);

// 計算加權收盤價
price = WeightedClose();

// MACD 計算
difValue = XAverage(price, FastLength) - XAverage(price, SlowLength);
macdValue = XAverage(difValue, MACDLength);
oscValue = difValue - macdValue;

// 趨勢判斷
trendUp = oscValue > oscValue[1];

// 前面區段資料變動較大,先不繪出
if CurrentBar <= SlowLength then begin
difValue = 0;
macdValue = 0;
oscValue = 0;
end;

// 繪圖 - MACD 柱狀圖根據 0 軸與趨勢方向設定不同 Plot
if oscValue >= 0 then begin
if trendUp then
Plot3(oscValue, "Osc++") // 0 軸以上,趨勢向上
else
Plot4(oscValue, "Osc+-"); // 0 軸以上,趨勢向下
end else begin
if trendUp then
Plot5(oscValue, "Osc-+") // 0 軸以下,趨勢向上
else
Plot6(oscValue, "Osc--"); // 0 軸以下,趨勢向下
end;

dif_str = text("DIF", numToStr(FastLength,0), "-",numToStr(SlowLength,0));
macd_str = text("MACD", numToStr(MACDLength,0));

// 繪製 DIF 線與 MACD 線
Plot1(difValue, "DIF");
setplotLabel(1,dif_str);
Plot2(macdValue, "MACD");
setplotLabel(2,macd_str);
Plot7(oscValue, "Osc");
留言
avatar-img
留言分享你的想法!
avatar-img
回甘老茶湯
7會員
54內容數
像一壺值得細細品味的老茶,帶來一縷絲絲回甘的啟發。
你可能也想看
Thumbnail
雙11於許多人而言,不只是單純的折扣狂歡,更是行事曆裡預定的,對美好生活的憧憬。 錢錢沒有不見,它變成了快樂,跟讓臥房、辦公桌、每天早晨的咖啡香升級的樣子! 這次格編突擊辦公室,也邀請 vocus「野格團」創作者分享掀開蝦皮購物車的簾幕,「加入購物車」的瞬間,藏著哪些靈感,或是對美好生活的想像?
Thumbnail
雙11於許多人而言,不只是單純的折扣狂歡,更是行事曆裡預定的,對美好生活的憧憬。 錢錢沒有不見,它變成了快樂,跟讓臥房、辦公桌、每天早晨的咖啡香升級的樣子! 這次格編突擊辦公室,也邀請 vocus「野格團」創作者分享掀開蝦皮購物車的簾幕,「加入購物車」的瞬間,藏著哪些靈感,或是對美好生活的想像?
Thumbnail
從程式策略中已經有反應方向有轉向為空方,尤其是川普與降息的不確定性,加上七月份是一整年度的高點,而一整年的低點會落在九月,須留意逢低買的風險,減少部位操作也是一種資金控管的好方法。
Thumbnail
從程式策略中已經有反應方向有轉向為空方,尤其是川普與降息的不確定性,加上七月份是一整年度的高點,而一整年的低點會落在九月,須留意逢低買的風險,減少部位操作也是一種資金控管的好方法。
Thumbnail
市場上,MACD和RSI是兩種常見的量化交易策略,它們基於不同的技術指標,用於分析股票或其他金融工具的價格走勢,並據此做出決策。
Thumbnail
市場上,MACD和RSI是兩種常見的量化交易策略,它們基於不同的技術指標,用於分析股票或其他金融工具的價格走勢,並據此做出決策。
Thumbnail
技術指標源自統計學原理,反映市場變化的概率分佈,而非預測工具。本文了解指標背後邏輯有利活學活用,甚至自行改良創新。
Thumbnail
技術指標源自統計學原理,反映市場變化的概率分佈,而非預測工具。本文了解指標背後邏輯有利活學活用,甚至自行改良創新。
Thumbnail
前幾天,幫忙輝哥分析了一下他的追強勢股的文章,迴響還不錯,其實就是這十個字“漲跌看趨勢,買賣靠策略“,你如果可以會心一笑,那你一是悟了。   大家可以好好想一想,自已是用什麼方式操作持股的,如果你是屬於技術派的,按理你會有一套看漲跌趨勢的邏輯,比如均線派,看月線上升下降,比如MACD,看豆芽
Thumbnail
前幾天,幫忙輝哥分析了一下他的追強勢股的文章,迴響還不錯,其實就是這十個字“漲跌看趨勢,買賣靠策略“,你如果可以會心一笑,那你一是悟了。   大家可以好好想一想,自已是用什麼方式操作持股的,如果你是屬於技術派的,按理你會有一套看漲跌趨勢的邏輯,比如均線派,看月線上升下降,比如MACD,看豆芽
Thumbnail
瞭解如何正確解讀經濟指標,選擇正確的時機進行股市交易,以建立持續獲利的策略。介紹如何運用宏觀經濟指標找出領先產業或強勢企業,並與市場比較利差後決定進出場準據,以提高交易勝率與穩定性,適合業餘投資人增加被動收入。
Thumbnail
瞭解如何正確解讀經濟指標,選擇正確的時機進行股市交易,以建立持續獲利的策略。介紹如何運用宏觀經濟指標找出領先產業或強勢企業,並與市場比較利差後決定進出場準據,以提高交易勝率與穩定性,適合業餘投資人增加被動收入。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News