【TradingView】【布林通道策略】程式碼逐條解說

更新於 發佈於 閱讀時間約 9 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。
首先,我們依然先跟投資朋友介紹公式及原理!
布林通道由三個數值構成,均值、上通道以及下通道。
1. 均值通常是以20根K棒做簡單算術平均
2. 上通道為均值加上2個標準差
3. 下通道為均值減去2個標準差
不了解標準差的投資朋友,可以將標準差理解為這20根K棒的波動程度。
如果這20根K棒價格波動很大
布林通道的上通道跟下通道就會擴展開來,通道就會很寬,反之亦然!
在TradingView呈現如下圖:

接著我們來逐行講解如何用TradingView寫出一個簡單的布林通道策略
首先我們使用最原始的布林通道設定:20根均值以及上下加減兩個標準差
然而我們採用順勢策略
即當價格觸碰到上通道,我們做多
當價格碰到下通道,我們做空。
然而我們今天多加了一個指令
即進場後,我們會設定固定點數停利以及固定點數停損出場
那在我們對這個策略有了基本概念之後,就進入我們文章的主題吧!

//@version=5
strategy("Bollinger Bands", overlay=true)
首先我們依然先宣告我們使用的pine script版本,版本為5。
之後我們宣告這是一個strategy,策略。(若為指標,則為indicator(...))
第一個參數為這個策略的名稱
第二個參數overlay為true是將布林通道重疊於K棒圖表之上。

length = input.int(20, "Length", minval=1)
mult = input.int(2, "Multiplier", minval=1, maxval=50, step=1)
這兩行宣告兩個"可修改的變數"
因為他們是可修改的,所以我們用的函數是input.int(),int是整數的意思。
在input.int()中第一個參數為該變數的預設值
第二個參數是為這個變數取名,方便之後在軟體頁面修改(如下圖)
minval為最小值,maxval為最大值,step為數值增加/減少的數值
length為取幾根K棒,預設為20。
mult為標準差乘數,即原始的布林通道設定,預設為2倍。
以下圖片為在軟體上修改的方式,也是為什麼我們要用input.int()函數的原因:

mid = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upperBand = mid + dev
lowerBand = mid - dev
我們使用TradingView內建函數ta.sma以及ta.stdev建立20根均線以及標準差
將均線即布林通道中線取名為mid
並將上一段的乘數"mult=2"乘以標準差,並取名為dev
最後將中線mid加上/減去dev
得到布林通道上通道(upperBand)和下通道(lowerBand)

longCondition = ta.crossover(close, upperBand)
shortCondition = ta.crossunder(close, lowerBand)
這一段我們把做多的情況跟做空的條件寫出來
我們使用TradingView的內建函數ta.crossover()和ta.crossunder()
他們兩個函數是表達向上穿越(黃金交叉)以及向下穿越(死亡交叉)
這兩個函數是預設為第一個參數(close)即前面那個參數
向上crossover/向下crossunder穿越第二個參數upperBand/lowerBand

if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
這段程式碼我們運用if條件式寫出交易訊號
首先我們運用上一段程式碼建立的多空單訊號來偵測進場條件
之後我們運用TradingView內建進場函數strategy.entry()進場
strategy.entry()的第一個參數為該進場訊號的名稱(方便之後直接呼叫這次進場)
第二個參數為進多單(strategy.long)或空單(strategy.short)的指令

if strategy.position_size!=0
strategy.exit("ByeLong", "Long", profit=400, loss=100)
strategy.exit("ByeShort", "Short", profit=400, loss=100)
這裡我們用if條件式設定了出場的訊號
if strategy.position_size!=0,即為手中若有部位(含多單及空單)
strategy.exit為出場訊號,第一個參數為出場時,會標示在圖表上的名稱
第二個參數為欲出場的部位名稱,即為我們上一段為進場訊號設定名稱的原因
第三個profit參數為固定停利值(單位為ticks)
第四個loss參數即為固定停損值(單位也是ticks)

plot(mid, "Middle Line", color.blue)
plot(upperBand, "Upper Band", color.red)
plot(lowerBand, "Lower Band", color.green)
最後一部分呢,我們要把我們剛剛設定的布林通道掛上我們的圖表上
plot是我們TradingView內建繪製指標的函數
第一個參數為欲掛上的變數
(mid為中線均值upperBand/lowerBand為上/下通道)
第二個為指標的名稱
第三個為指標顏色,此處TradingView非常貼心
我們可以直接在程式碼上面選擇顏色
TradingView真的是非常優秀的看盤軟體!
如下圖:

這樣!我們就完成了最原始的布林通道策略設定!
在這裡,我們依然把上面每一段的程式碼整合於此
方便投資朋友直接複製貼上在Pine編輯器
//@version=5
strategy("Bollinger Bands Strategy", overlay=true)
length = input.int(20, "Length", minval=1)
mult = input.int(2, "Multiplier", minval=1, maxval=50, step=1)
mid = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upperBand = mid + dev
lowerBand = mid - dev
longCondition = ta.crossover(close, upperBand)
shortCondition = ta.crossunder(close, lowerBand)
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)
if strategy.position_size!=0
    strategy.exit("ByeLong", "Long", profit=400, loss=100)
    strategy.exit("ByeShort", "Short", profit=400, loss=100)
plot(mid, "Middle Line", color.blue)
plot(upperBand, "Upper Band", color.red)
plot(lowerBand, "Lower Band", color.green)
複製貼上並編碼之後就可以直接看到這個策略的績效報告,如下圖:

尚未註冊TrdingView的投資朋友歡迎使用Kevin專屬註冊連結:
享一個月免費試用Premium帳號,到期後可享50%的續約優惠!
(即使不續約,仍可繼續使用TradingView免費版功能)

⭐目前凱龍承接三大項業務,歡迎洽詢:
  1. 金融量化系列|凱龍下單機租用 & TradngView & MultiCharts 程式碼諮詢撰寫
  2. Line官方系列|凱龍Line官方模組租用 & Line官方機器人全系列諮詢架設
  3. 網站SaaS平台|凱龍雲端應用 & 網站SaaS平台諮詢架設
⭐凱龍Line官方:@979qbbfo
⭐凱龍官方網站:https://kevinwtf524.com/
avatar-img
19會員
17內容數
嗨!我是凱龍負責人Kevin - ⭐️凱龍金融量化(期貨程式交易看這裡!) 凱龍下單機 $545起/月 - ⭐️凱龍商城(餐飲業線上訂餐看這裡!) 凱龍訂餐模組 $690/月 - ⭐️專案客製(各類客製專案看這裡!) 金融量化策略撰寫、商家Line@機器人及各類網站客製架設 - ⭐凱龍官方Line:@979qbbfo
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章探討了股票技術分析的基本概念,包括K線圖和移動平均線的定義和用途,以及型態學的應用。此外,文章也介紹了葛蘭碧八大法則的相關內容,並討論了其歷史和潛在侷限性。最後,文章提醒投資者要理解技術分析工具的原理,不依賴單一指標做出投資決策。
本文深入淺出地解析均線使用技巧,包括均線排列、股價與均線關係、均線斜率及交叉等重點,幫助投資者掌握趨勢判斷的關鍵,提升投資決策能力。
布林通道(Bollinger Bands)由約翰·布林格創立,用於測量市場波動性和識別交易信號。組成部分包括中線(20日或20周SMA)、上線(中線+2倍標準差)和下線(中線-2倍標準差)。日線適用於短期交易,周線適用於中長期投資。布林通道幫助投資者理解市場趨勢,做出更明智的決策。
Thumbnail
趨勢線是金融市場中重要的交易工具,能幫助交易者預測價格走勢並制定交易策略。本文介紹了趨勢線的繪製方法,趨勢反轉的識別以及策略補強規則。閱讀本文可以讓讀者更好地理解趨勢線的應用,提高交易的成功率。
Thumbnail
本文介紹了當沖操作中常用的三種支撐壓力判斷方式:15分鐘K棒判斷法、boll(布林通道)判定法、利用未來指標試算器或看盤軟體自帶的支撐壓力試算。文章重點在於如何透過這些方式來把握操作機會、找出關鍵點位參考,並結合試撮情況以及開盤後的價格走勢做出交易判斷。
這篇文章介紹了多種趨勢指標,包括ADX、布林帶、信封、一目均衡表、移動平均線、拋物線和標準差。透過這些指標可以幫助分析股價趨勢和動向,提供交易建議和潛在投資機會。
Thumbnail
突破策略以抓取趨勢為目標,常見的操作方式包括股價、均線或成交量的突破。交易判斷基於過去一段時間的價格極值,進出場訊號明確。然而,此策略風險偏高,因此需要注意風險管理。改進方法包括添加趨勢濾網以及使用ATR軌道設定停損,以減少虧損並提高策略的穩定性。
在股市投資的世界裡,市場波動既是風險也是機會。許多投資者在面對市場的起伏時感到無所適從,不知道如何做出正確的投資決策。這時,一個有效的策略就成了投資者的秘密武器。今天,我們將深入探討28均線策略,看看它如何成為掌握市場波動的關鍵。 28均線策略簡介 28均線策略是一種基於技術分析的投資方法,
Thumbnail
移動平均線是投資初學者的良好起點,以計算收盤價的平均值為基礎,包括簡單移動平均線(SMA)和指數移動平均線(EMA)等。透過均線互動,可執行進出場策略,操作以日線為基準。風險在於即使無趨勢,仍會操作。建議改進方法是添加趨勢濾網,以提升準確度和報酬率。
Thumbnail
在波動的股市中,投資人需要面對何時買入和賣出的問題。KD指標是一種股市分析工具,能夠幫助投資者判斷市場可能的轉折點,提高買賣決策的精確度。本文將介紹KD指標的應用情況以及注意事項,並提出結合其他技術指標的建議。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章探討了股票技術分析的基本概念,包括K線圖和移動平均線的定義和用途,以及型態學的應用。此外,文章也介紹了葛蘭碧八大法則的相關內容,並討論了其歷史和潛在侷限性。最後,文章提醒投資者要理解技術分析工具的原理,不依賴單一指標做出投資決策。
本文深入淺出地解析均線使用技巧,包括均線排列、股價與均線關係、均線斜率及交叉等重點,幫助投資者掌握趨勢判斷的關鍵,提升投資決策能力。
布林通道(Bollinger Bands)由約翰·布林格創立,用於測量市場波動性和識別交易信號。組成部分包括中線(20日或20周SMA)、上線(中線+2倍標準差)和下線(中線-2倍標準差)。日線適用於短期交易,周線適用於中長期投資。布林通道幫助投資者理解市場趨勢,做出更明智的決策。
Thumbnail
趨勢線是金融市場中重要的交易工具,能幫助交易者預測價格走勢並制定交易策略。本文介紹了趨勢線的繪製方法,趨勢反轉的識別以及策略補強規則。閱讀本文可以讓讀者更好地理解趨勢線的應用,提高交易的成功率。
Thumbnail
本文介紹了當沖操作中常用的三種支撐壓力判斷方式:15分鐘K棒判斷法、boll(布林通道)判定法、利用未來指標試算器或看盤軟體自帶的支撐壓力試算。文章重點在於如何透過這些方式來把握操作機會、找出關鍵點位參考,並結合試撮情況以及開盤後的價格走勢做出交易判斷。
這篇文章介紹了多種趨勢指標,包括ADX、布林帶、信封、一目均衡表、移動平均線、拋物線和標準差。透過這些指標可以幫助分析股價趨勢和動向,提供交易建議和潛在投資機會。
Thumbnail
突破策略以抓取趨勢為目標,常見的操作方式包括股價、均線或成交量的突破。交易判斷基於過去一段時間的價格極值,進出場訊號明確。然而,此策略風險偏高,因此需要注意風險管理。改進方法包括添加趨勢濾網以及使用ATR軌道設定停損,以減少虧損並提高策略的穩定性。
在股市投資的世界裡,市場波動既是風險也是機會。許多投資者在面對市場的起伏時感到無所適從,不知道如何做出正確的投資決策。這時,一個有效的策略就成了投資者的秘密武器。今天,我們將深入探討28均線策略,看看它如何成為掌握市場波動的關鍵。 28均線策略簡介 28均線策略是一種基於技術分析的投資方法,
Thumbnail
移動平均線是投資初學者的良好起點,以計算收盤價的平均值為基礎,包括簡單移動平均線(SMA)和指數移動平均線(EMA)等。透過均線互動,可執行進出場策略,操作以日線為基準。風險在於即使無趨勢,仍會操作。建議改進方法是添加趨勢濾網,以提升準確度和報酬率。
Thumbnail
在波動的股市中,投資人需要面對何時買入和賣出的問題。KD指標是一種股市分析工具,能夠幫助投資者判斷市場可能的轉折點,提高買賣決策的精確度。本文將介紹KD指標的應用情況以及注意事項,並提出結合其他技術指標的建議。