본문 바로가기
  • "Backtest, backtest, backtest." - Martin Schwartz
[투자전략] 지표, 단타, 장타

트레이딩뷰 시장 상승/하락/횡보장 감지 방법

by Eirene 2023. 6. 8.
반응형

트레이딩뷰 시장 상승/하락/횡보장 감지 방법

이 글에서는 종가와 이동평균선, 최근 고점 및 저점의 관계를 활용하여 현재 시장 상태를 감지하는 간단한 트레이딩용 지표를 만드는 방법과 그 활용에 대해 알아보겠습니다.

1. 시장 상황의 중요성

시장 상황을 파악하는 것은 트레이더들에게 성공적인 거래를 위해 매우 중요한 요소입니다. 어떤 전략을 선택하고 어떤 거래를 진행할지 결정하기 위해서는 현재의 시장 상태를 정확하게 파악하는 것이 필수적입니다. 이 글에서는 종가와 이동평균선, 최근 고점 및 저점의 관계를 활용하여 현재 시장 상태를 감지하는 간단한 트레이딩용 지표를 만드는 방법과 그 활용에 대해 알아보겠습니다. 이를 통해 트레이더들은 시장 상황에 맞는 전략을 선택하고 더 나은 거래 결정을 내릴 수 있을 것입니다.

2. 종가, 이동평균선 및 고점과 저점의 관계를 활용한 시장 상태 감지

시장 상황은 주로 상승, 횡보, 하락 추세로 구분됩니다. 이 예시에서는 종가와 이동평균선, 최근 고점 및 저점의 관계를 활용하여 간단한 시장 상황 감지 지표를 만들어보겠습니다. 예를 들어, 현재 종가가 이동평균선 위에 있고, 최근 고점이 이전 고점보다 높고 최근 저점이 이전 저점보다 높다면 상승 추세로 간주할 수 있습니다.

3. 상승 추세 감지 조건

간단한 시장 상황 감지 지표를 만들기 위해 다음과 같은 조건들을 활용할 수 있습니다.

  • 현재 종가가 200기간 이동평균선 위에 있고,
  • 현재 종가가 13기간 전 종가보다 높으며,
  • 현재 고점이 8기간 전 고점보다 높고,
  • 현재 저점이 5기간 전 저점보다 높다면,

상승 추세로 간주합니다.

4. 하락 추세 감지 조건

이와 반대로,

  • 현재 종가가 200기간 이동평균선 아래에 있고,
  • 현재 종가가 13기간 전 종가보다 낮으며,
  • 현재 고점이 8기간 전 고점보다 낮고,
  • 현재 저점이 5기간 전 저점보다 낮다면 

하락 추세로 간주합니다.

5. 트레이딩뷰 소스

// 이 소스 코드는 Mozilla Public License 2.0의 조건에 따라 제공됩니다. https://mozilla.org/MPL/2.0/
// © Sofien-Kaabar
//@version=5
indicator("Simple Regime Detector")
var float regime = 0
if close > ta.sma(close, 200) and close > close[13] and high > high[8] and low > low[5]
    regime := 1
if close > ta.sma(close, 200) and close > close[13] and high > high[8] and low < low[5]
    regime := 0.75
if close > ta.sma(close, 200) and close > close[13] and high < high[8] and low < low[5]
    regime := 0.5
if close > ta.sma(close, 200) and close < close[13] and high < high[8] and low < low[5]
    regime := 0.25
if close < ta.sma(close, 200) and close < close[13] and high < high[8] and low < low[5]
    regime := -1
if close < ta.sma(close, 200) and close < close[13] and high < high[8] and low > low[5]
    regime := -0.75
if close < ta.sma(close, 200) and close < close[13] and high > high[8] and low > low[5]
    regime := -0.5
if close < ta.sma(close, 200) and close > close[13] and high > high[8] and low > low[5]
    regime := -0.25
hline(1, color = color.black)
hline(-1, color = color.black)
plot(ta.sma(regime, 10), color = color.green)
hline(0, color = color.red)

이것은 TradingView에서 사용하는 사용자 지정 기술적 분석 지표인 "Simple Regime Detector"의 Pine 스크립트 코드입니다. Pine 스크립트는 TradingView에서 사용자 지정 기술적 분석 지표 및 전략을 코딩하기 위한 도메인 특화 언어입니다. 코드가 하는 일에 대한 줄 단위 분석은 다음과 같습니다:

  1. `indicator("Simple Regime Detector")`: 이 줄은 지표의 이름을 "Simple Regime Detector"로 지정합니다.
  2. `var float regime = 0`: 이 줄은 "regime"라는 변수를 선언하고 값을 0으로 초기화합니다. 이 변수는 감지된 시장 regime를 저장하는 데 사용됩니다.
  3. 다음 8개의 `if` 문은 현재 가격 데이터를 특정 조건에 따라 분석하고 결과에 따라 "regime" 변수에 다른 값을 할당합니다. 이러한 조건은 현재 종가(`close`), 지난 200 기간 동안의 종가의 단순 이동 평균(`ta.sma(close, 200)`), 그리고 다른 기간 동안의 최고 (`high`)와 최저 (`low`) 가격을 비교하여 결정됩니다. 조건에 따라 "regime" 변수는 0.25 간격으로 -1부터 1까지의 값을 가질 수 있습니다.
  4. `hline(1, color = color.black)` 및 `hline(-1, color = color.black)`: 이 두 줄은 지표의 플롯에 값 1과 -1에 대한 수평선을 그립니다. 이러한 선은 "regime" 변수의 최대 및 최소 가능한 값을 나타냅니다.
  5. `plot(ta.sma(regime, 10), color = color.green)`: 이 줄은 "regime" 변수의 지난 10 기간 동안의 단순 이동 평균을 플롯합니다. 이 이동 평균은 녹색으로 표시됩니다.
  6. `hline(0, color = color.red)`: 이 줄은 지표의 플롯에 값 0에 대한 수평선을 그립니다. 이 수평선은 빨간색으로 표시됩니다.

이 스크립트는 사용자가 가격 움직임과 관련된 특정 조건에 따라 현재의 시장 regime를 시각화하는 데 도움을 줍니다. regime 값(녹색 선으로 표시)은 -1부터 1까지 변동하며 사용자는 이 정보를 통해 거래 결정을 내릴 수 있습니다.

 

이렇게 구성된 간단한 시장 상황 감지 지표를 활용하면, 트레이더들은 상승, 횡보, 하락과 같은 시장 상황을 신속하게 파악할 수 있습니다. 이를 통해 트레이더들은 전략을 조정하고 적절한 거래 결정을 내릴 수 있게 됩니다.

5. 적용 예

TSLA 주식 적용 예
TQQQ ETF 적용 예
비트코인(BTCUSDT) 적용 예
SOL 코인(SOLUSDT) 적용 결과

6. 참고

하지만 이 예시에서 제시된 시장 상황 감지 알고리즘은 단순히 개념적인 이해를 돕기 위한 것일 뿐이므로, 실제 트레이딩에 활용하기 위해서는 추가적인 검증과 수정이 필요합니다. 트레이더들은 이 예시를 참고하여 자신에게 맞는 시장 상황 감지 지표를 개발하고 테스트해보는 것이 좋습니다. 또한, 트레이딩을 위한 자동화된 시스템을 개발하거나 사용할 때에는 적절한 리스크 관리와 모니터링이 필요하며, 실전에 투입하기 전에 충분한 백테스트와 실제 데이터와의 비교 평가가 필요합니다.

 

시장 상황을 정확하게 파악하는 것은 트레이더들에게 큰 이점을 제공할 수 있습니다. 따라서 지속적인 학습과 검토를 통해 개선된 시장 상황 감지 지표를 개발하고 활용하는 것이 중요합니다.

728x90
반응형

댓글