Skip to content

Instantly share code, notes, and snippets.

@bongkook
Created December 10, 2019 04:15
Show Gist options
  • Save bongkook/08d3407d1479ecc747293b3ad348dff7 to your computer and use it in GitHub Desktop.
Save bongkook/08d3407d1479ecc747293b3ad348dff7 to your computer and use it in GitHub Desktop.
//@version=3
study("bollinger_band_3", "BB3", true)
// 入力値 ------------------------------------
// BB
bb_lenght = input(20, title="BB 期間", type=integer)
bb_src = input(close, title="BB ソース")
bb_mult1 = input(1, title="BB1 標準偏差", type=float)
bb_mult2 = input(2, title="BB2 標準偏差", type=float)
bb_mult3 = input(3, title="BB3 標準偏差", type=float)
// 表示切り替え
BB1_DISP = input(true, title="BB1 表示/非表示")
BB2_DISP = input(true, title="BB2 表示/非表示")
BB3_DISP = input(true, title="BB3 表示/非表示")
// 計算 ------------------------------------
// BBの上辺の値を取得する
bb_upper(_mult, _bb_basis, _bb_src, _bb_lenght) =>
_bb_dev = _mult * stdev(_bb_src, _bb_lenght)
_bb_basis + _bb_dev
// BBの下辺の値を取得する
bb_lower(_mult, _bb_basis, _bb_src, _bb_lenght) =>
_bb_dev = _mult * stdev(_bb_src, _bb_lenght)
_bb_basis - _bb_dev
// 各BBを計算
bb_basis = sma(bb_src, bb_lenght)
bb_upper1 = bb_upper(bb_mult1, bb_basis, bb_src, bb_lenght)
bb_lower1 = bb_lower(bb_mult1, bb_basis, bb_src, bb_lenght)
bb_upper2 = bb_upper(bb_mult2, bb_basis, bb_src, bb_lenght)
bb_lower2 = bb_lower(bb_mult2, bb_basis, bb_src, bb_lenght)
bb_upper3 = bb_upper(bb_mult3, bb_basis, bb_src, bb_lenght)
bb_lower3 = bb_lower(bb_mult3, bb_basis, bb_src, bb_lenght)
// 表示 ------------------------------------
// 色
sma_color = color(red, 50) // SMA
bb_color1 = color(green, 55) // BB1
bb_color2 = color(yellow, 55) // BB2
bb_color3 = color(blue, 55) // BB3
// SMA
plot(bb_basis, color=sma_color, title="BB SMA")
// BB1
p1_u = plot(BB1_DISP ? bb_upper1 : na, color=bb_color1, title="BB1 上辺")
p1_l = plot(BB1_DISP ? bb_lower1 : na, color=bb_color1, title="BB1 下辺")
fill(p1_u, p1_l, color=aqua, transp=98, title="BB1 背景")
// BB2
p2_u = plot(BB2_DISP ? bb_upper2 : na, color=bb_color2, title="BB2 上辺")
p2_l = plot(BB2_DISP ? bb_lower2 : na, color=bb_color2, title="BB2 下辺")
fill(p2_u, p2_l, color=aqua, transp=98, title="BB2 背景")
// BB3
p3_u = plot(BB3_DISP ? bb_upper3 : na, color=bb_color3, title="BB3 上辺")
p3_l = plot(BB3_DISP ? bb_lower3 : na, color=bb_color3, title="BB3 下辺")
fill(p3_u, p3_l, color=aqua, transp=98, title="BB3 背景")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment