공개 전략 공유

트레이딩뷰 Pine Script 활용 – 볼린저 밴드 & 이동평균선을 이용한 자동매매 전략

Trader 맥점 2025. 2. 2. 01:33

 

🎤 안녕하세요! 오늘은 볼린저 밴드와 이동평균선을 활용한 자동매매 전략을 만들어보겠습니다.

👉 이 강좌에서 배우는 내용:

볼린저 밴드(Bollinger Bands)와 이동평균선(MA)을 활용한 매매 전략

Pine Script를 이용해 매매 신호를 생성하는 방법

자동매매 설정 및 백테스트 최적화 방법

그럼 바로 시작해볼까요? 🚀

 

 

📌 1. 볼린저 밴드 & 이동평균선이란?

📍 볼린저 밴드 (Bollinger Bands)

  • 가격 변동성을 나타내는 지표
  • 상단 밴드(저항선), 중앙선(이동평균선), 하단 밴드(지지선)로 구성
  • 가격이 하단 밴드를 터치하면 매수 신호, 상단 밴드를 터치하면 매도 신호로 활용

볼린저 밴드 기본 공식:

중앙선=이동평균선(SMA)\text{중앙선} = \text{이동평균선} (SMA)

중앙선=이동평균선(SMA) 상단 밴드=SMA+(표준편차×2)\text{상단 밴드} = \text{SMA} + (표준편차 × 2)

상단 밴드=SMA+(표준편차×2) 하단 밴드=SMA−(표준편차×2)\text{하단 밴드} = \text{SMA} - (표준편차 × 2)

하단 밴드=SMA−(표준편차×2)

(출처: Investopedia – 볼린저 밴드 차트 예제)


📍 이동평균선 (Moving Average)

  • 가격 추세를 파악하는 지표
  • 단기(7일), 중기(20일), 장기(50~200일) 이동평균선 활용 가능
  • 단기선이 장기선을 돌파하면 매수 신호, 하락하면 매도 신호로 활용

💡 볼린저 밴드와 이동평균선을 함께 사용하면 신뢰도가 높은 매매 신호를 만들 수 있습니다!


📌 2. Pine Script로 자동매매 전략 만들기

📢 이제 직접 Pine Script를 작성해서 자동매매 전략을 만들어보겠습니다!

📍 1단계: 볼린저 밴드 & 이동평균선 설정

 

pinescript

//@version=5 strategy("볼린저 밴드 & 이동평균선 자동매매", overlay=true) // 볼린저 밴드 설정 length = 20 src = close basis = ta.sma(src, length) dev = 2.0 upper = basis + dev * ta.stdev(src, length) lower = basis - dev * ta.stdev(src, length) // 이동평균선 설정 smaShort = ta.sma(close, 9) // 단기 이동평균선 smaLong = ta.sma(close, 50) // 장기 이동평균선 // 차트에 표시 plot(basis, color=color.blue, title="Bollinger SMA") // 중앙선 plot(upper, color=color.red, title="Upper Band") // 상단 밴드 plot(lower, color=color.green, title="Lower Band") // 하단 밴드 plot(smaShort, color=color.orange, title="단기 이동평균선") plot(smaLong, color=color.purple, title="장기 이동평균선")

 

볼린저 밴드 (20일 기준) 생성

단기(9일) & 장기(50일) 이동평균선 설정

차트에 볼린저 밴드와 이동평균선 표시

💡 이제 트레이딩뷰에서 실행하면 차트에서 지표가 표시됩니다!


📍 2단계: 매매 신호 추가하기

pinescript

//@version=5 strategy("볼린저 밴드 & 이동평균선 자동매매", overlay=true) // 볼린저 밴드 설정 length = 20 src = close basis = ta.sma(src, length) dev = 2.0 upper = basis + dev * ta.stdev(src, length) lower = basis - dev * ta.stdev(src, length) // 이동평균선 설정 smaShort = ta.sma(close, 9) smaLong = ta.sma(close, 50) // 매매 신호 조건 buySignal = (ta.crossover(close, lower) and ta.crossover(smaShort, smaLong)) // 하단 밴드 반등 + 단기선 상승 sellSignal = (ta.crossunder(close, upper) and ta.crossunder(smaShort, smaLong)) // 상단 밴드 터치 + 단기선 하락 // 매매 신호 표시 plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY") plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL")

 

볼린저 밴드 하단 터치 & 단기 이동평균선 상승 → 매수 신호

볼린저 밴드 상단 터치 & 단기 이동평균선 하락 → 매도 신호

plotshape()를 사용해 차트에 매수·매도 아이콘 표시

💡 이제 차트에서 매매 신호를 직접 확인할 수 있습니다!


📍 3단계: 자동매매 전략 추가하기

pinescript

//@version=5 strategy("볼린저 밴드 & 이동평균선 자동매매", overlay=true) // 볼린저 밴드 설정 length = 20 src = close basis = ta.sma(src, length) dev = 2.0 upper = basis + dev * ta.stdev(src, length) lower = basis - dev * ta.stdev(src, length) // 이동평균선 설정 smaShort = ta.sma(close, 9) smaLong = ta.sma(close, 50) // 매매 신호 조건 longCondition = (ta.crossover(close, lower) and ta.crossover(smaShort, smaLong)) shortCondition = (ta.crossunder(close, upper) and ta.crossunder(smaShort, smaLong)) // 자동매매 실행 strategy.entry("Long", strategy.long, when=longCondition) strategy.close("Long", when=shortCondition)

매수 신호 발생 시 자동으로 포지션 진입

매도 신호 발생 시 포지션 정리(매도)

트레이딩뷰에서 백테스트 진행 가능

💡 이제 트레이딩뷰에서 실행하면 자동으로 매매가 이루어집니다! 🚀


📌 3. 백테스트 및 최적화 방법

📢 트레이딩뷰에서 전략을 실행한 후, "전략 테스터"에서 성과를 확인하세요!

수익률, 승률, 최대 손실 분석

볼린저 밴드 및 이동평균선 파라미터 최적화

위험 관리 기능(스탑로스, 테이크 프로핏) 추가 가능

💡 전략을 최적화하여 더 나은 성과를 얻으세요!

 

Pine Script를 이용한 매매 신호 및 자동매매 코드 작성

백테스트를 통해 전략 검증 및 최적화 방법 학습

📌 이제 직접 Pine Script를 활용해 나만의 자동매매 전략을 만들어보세요! 🚀