【TradingView】【MACD指標策略】程式碼逐條解說

更新於 發佈於 閱讀時間約 9 分鐘
投資理財內容聲明

我們首先,先介紹一下MACD的公式及原理

快線:12根價格指數平均線

慢線:26根價格指數平均線

macd: 快線-慢線

signal: 9根的macd指數平均線

柱狀體:macd-signal


MACD最原始的策略

當柱狀體由負值轉正,我們做多

當柱狀體由正值轉負,我們做空

但隨著時代的演進,MACD的運用早已變幻莫測

但我們今天先以原始型態來做介紹


在了解MACD交易理念後,我們就來一窺TradingView pine script語法

//@version=5
strategy(title="MACD strategy", overlay=false)

跟Multicharts不同的是,pine script不需要先宣告參數以及變數

"//"後的是註記文字,不會被編程,這裡的@version=5是註記使用版本五

版本五與版本四語法上會稍有不同,這裡介紹將以版本五為主

strategy( )函數是一個pine script內建函數,用來設定策略的基本設置

title="MACD strategy" 是將策略名稱設定為"MACD strategy"

overlay=false 是將MACD指標線置於圖表下方,不要重疊於圖表


fastLen = input.int(title="Fast Length", defval=12)
slowLen = input.int(title="Slow Length", defval=26)
signalLen = input.int(title="Signal Length", defval=9)

設置這個區域的程式碼,是為了讓我們能直接在版面上調整參數

input.int( )是設置了一個能輸入整數數字的參數輸入選項

title="" 是設置了這個參數的名稱

defval=12 則是為這個參數設置了Default Value,這個示範為12根K棒


fastMA = ta.ema(close, fastLen)
slowMA = ta.ema(close, slowLen)
macd = fastMA - slowMA
signal = ta.ema(macd, signalLen)

這個區塊的程式碼主要要介紹 ta.ema() 這個內建函數

"ta"是"Technical Analysis"的縮寫,是pine script內建的技術指標函數

而ema則與我們Multicharts的XAverage一樣,是指數平均函數

指數平均函數跟我們一般平均函數的差別是

指數平均函數會把近期的價格加權加重,如此一來會使得指數均線更加貼近行情

使用指數平均是MACD的預設設定


plot(macd, color=color.blue, title="MACD")
plot(signal, color=color.red, title="Signal")

plot( )跟Multicharts一樣是畫上指標的函數

plot(macd, color=color.blue, title="MACD")

第一個參數是欲使用的變數,第二個參數是指標顏色

也可以用color.rgb(***, ***, ***)來調整細節顏色

第三個參數則是為這個指標設定一個名稱


buySignal = ta.crossover(macd, signal)
if (buySignal)
strategy.entry("Buy", strategy.long)
sellSignal = ta.crossunder(macd, signal)
if (sellSignal)
strategy.entry("Sell", strategy.short)

buySignal = ta.crossover(macd, signal)

這段是程式碼是編寫買進訊號(buySignal),其輸出為布林值,即True和False

並運用pine script內建ta.crossover(macd, signal)函數

表達macd柱狀體由負值轉正,亦即macd大於signal的那個瞬間

ta.crossover(參數一, 參數二)

即是放在前面的參數一大於參數二的那個瞬間叫做crossover

前後位置預設的,編寫的時候要注意不要把前後順序搞錯了!

strategy.entry("Buy", strategy.long)則是如此表達

第一個參數"Buy"是會顯示在圖表上的名稱

第二個參數則是表達進場多單

這一區塊程式碼要特別注意的是

pine script的"if條件式"是不需要":"或者"then"等等的條件式編寫

甚至連在這個範例舉出的"if (buySignal)"中的"( )"都不是必要的!

但還是建議可以加上括號,避免在整理及維護的時候難於閱讀


那我們這裡就詳細的介紹完了這個用pine script撰寫的MACD策略

TradingView是一個非常非常強大的看盤軟體

在國際間享負盛名

在之後的文章中

除了用pine script介紹策略程式碼

也將介紹一些實用的TradingView使用小訣竅


最後把上面各段的程式碼整理並放在下面

方便各位複製直接貼在TradingView編輯介面,並按下右上角的「新增到圖表」

這樣就可以直接檢視這個MACD策略的績效

//@version=5
strategy(title="MACD strategy", overlay=false)

fastLen = input.int(title="Fast Length", defval=12)
slowLen = input.int(title="Slow Length", defval=26)
signalLen = input.int(title="Signal Length", defval=9)

fastMA = ta.ema(close, fastLen)
slowMA = ta.ema(close, slowLen)
macd = fastMA - slowMA
signal = ta.ema(macd, signalLen)

plot(macd, color=color.blue, title="MACD")
plot(signal, color=color.red, title="Signal")

buySignal = ta.crossover(macd, signal)
if (buySignal)
strategy.entry("Buy", strategy.long)
sellSignal = ta.crossunder(macd, signal)
if (sellSignal)
strategy.entry("Sell", strategy.short)

尚未註冊TrdingView的投資朋友歡迎使用Kevin專屬註冊連結:

https://www.tradingview.com/?aff_id=131489

享一個月免費試用Premium帳號,到期後可享50%的續約優惠!

(即使不續約,仍可繼續使用TradingView免費版功能)


⭐目前凱龍承接三大項業務,歡迎洽詢:

  1. 金融量化系列|凱龍下單機租用 & TradngView & MultiCharts 程式碼諮詢撰寫
  2. Line官方系列|凱龍Line官方模組租用 & Line官方機器人全系列諮詢架設
  3. 網站SaaS平台|凱龍雲端應用 & 網站SaaS平台諮詢架設

⭐凱龍Line官方:@979qbbfo

⭐凱龍官方網站:https://kevinwtf524.com/

⭐instagram:https://www.instagram.com/kevinwtf524/

⭐YouTube:https://www.youtube.com/@kevinwtf524

留言
avatar-img
留言分享你的想法!
avatar-img
Kevin 凱龍
21會員
17內容數
嗨!我是凱龍負責人Kevin - ⭐️凱龍金融量化(期貨程式交易看這裡) 凱龍下單機 $545起/月 - ⭐️凱龍商城(餐飲業線上訂餐看這裡) 凱龍訂餐模組 $690/月 - ⭐️專案客製(各類客製專案看這裡) 金融量化策略撰寫、Line@機器人及各類網站客製架設 - ⭐凱龍官方Line:@979qbbfo
Kevin 凱龍的其他內容
2023/05/25
2023/05/25
2023/04/21
歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
2023/04/21
歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
2023/04/16
歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
2023/04/16
歡迎加入【Kevin 凱龍】官方賴@979qbbfo
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
提供一條簡單公式、一套盤點思路,幫助你快速算出去日本自助旅遊需要準備多少日幣現金!
Thumbnail
提供一條簡單公式、一套盤點思路,幫助你快速算出去日本自助旅遊需要準備多少日幣現金!
Thumbnail
經過之前MACD指數平滑移動平均線的詳細介紹,相信已經對 MACD 指標有徹底的瞭解了,這篇將實際使用 Crypto Arsenal 量化交易平台裡的免費 MACD 指標模板做回測,這篇將教學如何簡單地修改模板程式,更客製化自己的想法和策略。
Thumbnail
經過之前MACD指數平滑移動平均線的詳細介紹,相信已經對 MACD 指標有徹底的瞭解了,這篇將實際使用 Crypto Arsenal 量化交易平台裡的免費 MACD 指標模板做回測,這篇將教學如何簡單地修改模板程式,更客製化自己的想法和策略。
Thumbnail
上次我們實作完macd之後,大家是不是覺得少了指標 沒錯【指標】這種東西要顯示到大圖上面才能更容易判斷出如何更好的開單時機 通常我們用macd開單 是用到金叉跟死叉 1. 金叉就是macd的柱狀圖從紅去轉綠色的時候開多 2. 死叉就是macd的柱狀圖從綠色轉紅色的時候開空 我們先從金叉開始做起 st
Thumbnail
上次我們實作完macd之後,大家是不是覺得少了指標 沒錯【指標】這種東西要顯示到大圖上面才能更容易判斷出如何更好的開單時機 通常我們用macd開單 是用到金叉跟死叉 1. 金叉就是macd的柱狀圖從紅去轉綠色的時候開多 2. 死叉就是macd的柱狀圖從綠色轉紅色的時候開空 我們先從金叉開始做起 st
Thumbnail
加入我們ASC 的 Discore: https://discord.gg/a4C57cVR6B 1.前置工具: tradingview 需要申請帳戶並且進入上方連結(這邊用 幣安交易所ETH/USDT 作為範例) 之後我們點選Pine編輯器(這邊就是撰寫indicator的地方) 2.幫自己的指標
Thumbnail
加入我們ASC 的 Discore: https://discord.gg/a4C57cVR6B 1.前置工具: tradingview 需要申請帳戶並且進入上方連結(這邊用 幣安交易所ETH/USDT 作為範例) 之後我們點選Pine編輯器(這邊就是撰寫indicator的地方) 2.幫自己的指標
Thumbnail
技術指標之王-MACD指標! 今天我們要來探勘一些實用的技術指標工具。 如果說趨勢指標當中,我認為最重要的是什麼 那就屬於MACD(指數異同平滑移動平均線)囉! 這個技術指標有什麼特性,為什麼會這麼重視它? 接下來我們將帶來認識這個技術分析工具。 👉一、趨勢指標之王-MACD
Thumbnail
技術指標之王-MACD指標! 今天我們要來探勘一些實用的技術指標工具。 如果說趨勢指標當中,我認為最重要的是什麼 那就屬於MACD(指數異同平滑移動平均線)囉! 這個技術指標有什麼特性,為什麼會這麼重視它? 接下來我們將帶來認識這個技術分析工具。 👉一、趨勢指標之王-MACD
Thumbnail
使用pandas,透過TWStock_2的資料,計算下列三種常用的技術指標 1. 移動平均線 2. 指數移動平均線 3. MACD 首先連接資料庫,然後我們只取"成交股數 , 開盤價 , 最高價 , 最低價 , 收盤價" 這5個columns代入新的tsmc( 名稱 ) code如下 參考連結如下
Thumbnail
使用pandas,透過TWStock_2的資料,計算下列三種常用的技術指標 1. 移動平均線 2. 指數移動平均線 3. MACD 首先連接資料庫,然後我們只取"成交股數 , 開盤價 , 最高價 , 最低價 , 收盤價" 這5個columns代入新的tsmc( 名稱 ) code如下 參考連結如下
Thumbnail
本文將會帶你認識:    1.macd指標是什麼?  2.macd指標怎麼看?  3.macd買點怎麼看? 一、macd指標是什麼? MACD 指標(英文:Moving Average Convergence & Divergence,一般都簡稱MACD,中國大陸稱為指數平滑移動平均線,港澳稱
Thumbnail
本文將會帶你認識:    1.macd指標是什麼?  2.macd指標怎麼看?  3.macd買點怎麼看? 一、macd指標是什麼? MACD 指標(英文:Moving Average Convergence & Divergence,一般都簡稱MACD,中國大陸稱為指數平滑移動平均線,港澳稱
Thumbnail
前言 看到版上有一篇在探討新手進入市場後的誤區,讓我想跟新手們聊一聊,你們「老師」經常在課堂中教的常用的指標誤區,今天來看看最通俗的指標「MACD」 MACD 解釋 中文又稱「異同移動平均線」  圖一、資料來源:https://www.mitrade.com/zh/forex/basics/tech
Thumbnail
前言 看到版上有一篇在探討新手進入市場後的誤區,讓我想跟新手們聊一聊,你們「老師」經常在課堂中教的常用的指標誤區,今天來看看最通俗的指標「MACD」 MACD 解釋 中文又稱「異同移動平均線」  圖一、資料來源:https://www.mitrade.com/zh/forex/basics/tech
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News