交易策略程式碼教學 – 布林通道
演算法交易策略並不像大家想像中那麼困難, 文章中會以四個步驟來教大家如何使用演算法交易策略來寫布林通道程式碼。 所有的程式碼使用 pine script 頁面在the Tradingview 平台裡.
文章中會先顯示每步驟完整版的策略內容,在部分拆解解釋。
黑色部分為固定的程式碼部分,而黃色的部分可以根據個人的需求來做變化!
接下來,文章中將會介紹每一格代表的意思。
//Bollinger Bands //@version = 4 strategy("Yaonology Bollinger Bands Tutorial", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.USD, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0)
length = input(20, minval = 1, title="MA period") clp = input(close, title = "Closing Price") mtp = input(2.0, minval = 0.001, maxval = 50.0) mdl = sma(clp, length) dev = mtp * stdev(clp, length) upr = mdl + dev lwr = mdl - dev
plot(mdl, color=color.red) p1 = plot(upr, color=color.blue) p2 = plot(lwr, color=color.purple) fill(p1, p2)
if clp < lwr strategy.entry(id = "BOLL1", long = true) if clp > upr strategy.close(id = "BOLL1")
步驟一:初始設定
strategy(“Yaonology KDJ Indicators Tutorial“, overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.USD, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0)
strategy : 策略名稱 (在此Yaonology 制定為Yaonology KDJ Indicators Tutorial)
overlay: Yes – true
default_qty_type :此為設定量的多寡 (此我們設定為 100)
default_qty_value : 設定量的多寡 – 100
currency: 幣值 (此設為USD)
initial_capital : 最初交易的價格 (設定10000)
commission_type : 佣金的計算方式 (建議選擇使用百分比 percent)
commission_value : 佣金的價值 (此沒有佣金,因此 設定 0)
步驟二:參數設定
length = input(20, minval = 1, title=”MA period“)
length : 移動平均天數
20 : 移動平均20 天 (市面上通常以20天來計算,但可以自行輸入不同日期)
minval : 每個間隔差為1
title : 可自行設定, 在此我們將名稱設定為 MA period
clp = input(close, title = “Closing Price“)
close : 收盤價格
title : 可自行設定, 在此我們將名稱設定為 Closing Price
mtp = input(2.0, minval = 0.001, maxval = 50.0)
mtp : multiple的簡稱
minval : 最小間隔為0.001
maxval : 最大間隔為50.0
mdl = sma(clp, length)
mdl : 中軌 (平均成本)
sma(clp, length) : 移動平均線 (收盤價, 平均天數)
dev = mtp * stdev(clp, length)
dev : 方差
mtp * stdev(clp, length) : mtp 乘以收盤價及平均天數的標準差
upr = mdl + dev(上軌的公式)
upr : 上軌 (和中軌為兩個正標準差差距)
lwr = mdl – dev(下軌的公式)
lwr : 下軌 (和中軌距離負兩個標準差)
步驟三:繪圖
plot(mdl, color=color.red): 表示中軌的圖形顏色為紅色
p1 = plot(upr, color=color.blue): 表示上軌的圖形顏色為藍色
p2 = plot(lwr, color=color.purple): 表示下軌的圖形顏色為紫色
fill(p1, p2): 表示把這兩條圖形用陰影填充凸顯出來
步驟四:買賣條件
if clp < lwr
strategy.entry(id = “BOLL1“, long = true)
=>當收盤價小於下軌時,指令打開,買進
Strategy.entry : 表示指令打開
id: 表示此單的名稱設定 在此我們將名稱設定為 BOLL1
long: 表示看多市場趨勢,此時為進場狀態,因此設定為true
if clp > upr
strategy.close(id = “BOLL1“)
=>當收盤價大於上軌時,指令關閉,賣出
strategy.close: 指令為出場模式
而id 為和進場同一張單的指令,因此名字需設為同一個。
完成後圖形

#Algorithmtrading #codingtutorial #SPY500 #BollingerBands