트렌드 필터링 핀 바 반전 전략

SMA RSI PB
생성 날짜: 2024-06-07 16:48:23 마지막으로 수정됨: 2024-06-07 16:48:23
복사: 2 클릭수: 631
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

트렌드 필터링 핀 바 반전 전략

개요

이 전략은 주로 특정 K선 형태인 핀 바 (Pin Bar) 를 식별하여 잠재적인 시장 전환점을 판단한다. 핀 바 (Pin Bar) 는 긴 그림자와 작은 개체로 구성된 K선 형태이며, 시장이 그 지점에서 큰 변동이 있었지만, 최종 가격 회수로 인해 지점이 지지 또는 저항 지점일 수 있음을 보여줍니다. 이 전략은 50주기 간단한 이동 평균 (SMA) 을 사용하여 현재 트렌드 방향을 판단하고, 20주기 SMA를 거래량 필터링 조건으로 사용하며, 거래량이 이 평균선보다 크면만 유효한 신호로 간주됩니다.

전략 원칙

  1. 먼저 핀 바의 상하 그림자 줄과 개체의 상대적인 크기를 판단하여, 상하 그림자 줄 또는 하하 그림자 줄은 전체 K 선의 높고 낮은 점 범위의 적어도 60%를 요구하며, 개체 부분은 30%를 초과할 수 없다.
  2. 핀 바의 개시 가격과 종료 가격의 크기를 비교하여 핀 바가 부자인지 부자인지 판단한다.
  3. 50주기 SMA를 사용하여 현재 트렌드를 판단하고, 상위 SMA의 종결가격이 상승 트렌드라고 간주하고, 반대로 하향 트렌드라고 간주한다.
  4. 20주기 거래량 SMA를 거래량 필터 조건의 값으로 하여, 핀 바가 구현될 때 거래량이 이 값보다 크면만 유효한 신호로 간주된다.
  5. 확인된 상점과 하락점의 핀 바를 그려보세요.
  6. 보 Pin Bar가 나타나면 상점 포지션을 열고, 보 Pin Bar가 나타나면 상점 포지션을 열다.
  7. 스톱은 핀 바의 크기의 2배, 스톱은 3배로 설정된다. 다중 헤드 스톱은 핀 바의 가장 낮은 지점 아래에 있고, 스톱은 가장 높은 지점 위에 있다. 공허 헤드는 반대로 있다.

우위 분석

  1. 핀 바 (Pin Bar) 는 매우 직관적이고 효과적인 가격 역전 형태이며, 시장의 감정의 변화를 비교적 정확하게 포착할 수 있다.
  2. 트렌드 필터 조건은 핀 바 신호가 현재 트렌드 방향과 일치하도록 보장하여 신호의 승률을 크게 향상시킵니다.
  3. 거래량 조건은 유동성이 부족한 시장 소음을 필터링하여 Pin Bar 신호가 충분한 시장 참여를 보장합니다.
  4. 정지 및 정지 위치의 설정은 Pin Bar 자체의 특성에 따라 위험과 이익이 합리적입니다.
  5. 코드의 논리와 규칙은 명확하고 이해하기 쉽고 구현하기 쉽습니다.

위험 분석

  1. Pin Bar 신호의 신뢰성은 동요 시에는 크게 하락하며, 트렌드 필터링은 그다지 효과적이지 않습니다.
  2. 바는 델리아 항공기나 리도 사고가 발생했을 때에도 작동하지 않을 수 있습니다.
  3. 거래 빈도가 낮고, 재검토 샘플이 부족할 수 있습니다.
  4. 특정 품종과 주기에는 기본 파라미터가 추가적으로 최적화 될 수 있습니다.
  5. 단 하나의 신호 시스템은 전체적으로 위험합니다.

최적화 방향

  1. 다른 반전 형태를 도입하는 것도 고려할 수 있다. 예를 들어, 내부의 바 (Bar) 와 같은 다른 반전 형태를 도입하는 것도 고려할 수 있다.
  2. 스톱로즈와 스톱의 위치는 ATR과 같은 변동률 지표를 사용하여 시장의 다른 상태에 적응할 수 있도록 동적으로 조정할 수 있다.
  3. 이 경우, %를 추적하는 방법으로 을 넣을 수 있습니다.
  4. 경제 달력이나 주요 사건과 같은 더 많은 기본 데이터를 추가하여 신호를 필터링할 수 있습니다.
  5. 투자자금 관리 모듈을 도입하여 거래마다 위험을 통제하는 것을 고려하십시오.

요약하다

핀 바 역전 전략은 간단한 효과적인 사고 방식을 채택하고, 트렌드 필터, 거래량 필터 등의 방법으로 신호 식별의 정확도를 향상시킵니다. 현재 개선할 수 있는 부분이 있지만, 전체적인 사고방식은 실행 가능하며, 추가적인 최적화 테스트를 할 가치가 있습니다. 핀 바 자체는 고전적인 가격 형태로서 다른 지표 또는 신호와 결합하여 더 안정적인 거래 시스템을 얻을 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Filtered Pin Bar Strategy with Relaxed Volume", overlay=true)

// Define the size of the pin bar's wick and body
wickSize = 0.6
bodySize = 0.3

// Calculate the size of the wicks and body
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
body = math.abs(close - open)

// Define a simple moving average to determine the trend
smaLength = 50
sma = ta.sma(close, smaLength)

// Define a more relaxed volume threshold
volumeThreshold = ta.sma(volume, 20) * 1.0

// Define RSI parameters
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsi = ta.rsi(close, rsiLength)

// Define the conditions for a bullish pin bar
bullishPinBar = (lowerWick > (wickSize * (high - low))) and
     (body < (bodySize * (high - low))) and
     (close > open) and
     (close > sma) and
     (volume > volumeThreshold)

// Define the conditions for a bearish pin bar
bearishPinBar = (upperWick > (wickSize * (high - low))) and
     (body < (bodySize * (high - low))) and
     (close < open) and
     (close < sma) and
     (volume > volumeThreshold)

// Plot the bullish and bearish pin bars on the chart
plotshape(series=bullishPinBar, title="Bullish Pin Bar", location=location.belowbar, color=color.green, style=shape.labelup, text="PB")
plotshape(series=bearishPinBar, title="Bearish Pin Bar", location=location.abovebar, color=color.red, style=shape.labeldown, text="PB")

// Entry and exit rules
if (bullishPinBar)
    strategy.entry("Bullish Pin Bar", strategy.long)
if (bearishPinBar)
    strategy.entry("Bearish Pin Bar", strategy.short)

// Optional: Set stop loss and take profit
stopLoss = 2 * body
takeProfit = 3 * body
strategy.exit("Exit Long", from_entry="Bullish Pin Bar", stop=low - stopLoss, limit=high + takeProfit)
strategy.exit("Exit Short", from_entry="Bearish Pin Bar", stop=high + stopLoss, limit=low - takeProfit)