코딩

트레이딩뷰 이동평균선 8개, 볼린저밴드, 일목균형표 한번에

강한인상이다 2024. 7. 16. 23:02

파인스크립트에 아래 코드를 복사 붙여 넣기 해서 차트에 넣으면 한번에 8개의 이동평균선을 넣을 수 있다.

 

여러개의 이동평균선을 무료로 사용 할 수 있는 것이다.

 

//@version=5
indicator("복합 지표: MA, 일목균형표, 볼린저 밴드", overlay=true)

// 이동평균선 설정
ma1 = input.int(7, "MA 1 기간", minval=1)
ma2 = input.int(14, "MA 2 기간", minval=1)
ma3 = input.int(120, "MA 3 기간", minval=1)
ma4 = input.int(200, "MA 4 기간", minval=1)
ma5 = input.int(480, "MA 5 기간", minval=1)
ma6 = input.int(560, "MA 6 기간", minval=1)
ma7 = input.int(1000, "MA 7 기간", minval=1)
ma8 = input.int(1700, "MA 8 기간", minval=1)

plot(ta.sma(close, ma1), title="MA1", color=color.red, linewidth=1)
plot(ta.sma(close, ma2), title="MA2", color=color.blue, linewidth=1)
plot(ta.sma(close, ma3), title="MA3", color=color.green, linewidth=1)
plot(ta.sma(close, ma4), title="MA4", color=color.purple, linewidth=1)
plot(ta.sma(close, ma5), title="MA5", color=color.orange, linewidth=1)
plot(ta.sma(close, ma6), title="MA6", color=color.orange, linewidth=1)
plot(ta.sma(close, ma7), title="MA7", color=color.yellow, linewidth=1)
plot(ta.sma(close, ma8), title="MA8", color=color.white, linewidth=1)

// 일목균형표 설정
conversionPeriods = input.int(9, "전환선 기간", minval=1)
basePeriods = input.int(26, "기준선 기간", minval=1)
laggingSpan2Periods = input.int(52, "선행스팬2 기간", minval=1)
displacement = input.int(26, "후행스팬 이동", minval=1)

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

plot(conversionLine, color=color.blue, title="전환선")
plot(baseLine, color=color.red, title="기준선")
p1 = plot(leadLine1, offset = displacement, color=color.green, title="선행스팬1")
p2 = plot(leadLine2, offset = displacement, color=color.red, title="선행스팬2")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
plot(close, offset = -displacement, color=color.blue, title="후행스팬")

// 볼린저 밴드 설정
bb_length = input.int(20, "볼린저 밴드 기간", minval=1)
bb_src = input.source(close, "볼린저 밴드 소스")
bb_mult = input.float(2.0, "볼린저 밴드 배수", minval=0.001, maxval=50)

basis = ta.sma(bb_src, bb_length)
dev = bb_mult * ta.stdev(bb_src, bb_length)
upper = basis + dev
lower = basis - dev

plot(basis, color=color.yellow, title="BB 중앙선")
p3 = plot(upper, color=color.green, title="BB 상단")
p4 = plot(lower, color=color.green, title="BB 하단")
fill(p3, p4, color=color.rgb(33, 150, 243, 95), title="BB 채우기")

 

 

아래 링크를 통해 트레이딩뷰에 가입하면 보너스 혜택을 받을 수도 있다.

 

https://kr.tradingview.com/?aff_id=140862

반응형