볼린저 밴드 트렌드 돌파 트레이딩 전략


생성 날짜: 2024-02-27 18:00:39 마지막으로 수정됨: 2024-02-27 18:00:39
복사: 0 클릭수: 833
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

볼린저 밴드 트렌드 돌파 트레이딩 전략

개요

부린띠 트렌드 돌파 트레이딩 전략은 최근 변동성의 극한 가격 수준에서 상대적으로 잠재적인 트렌드 반전을 식별하는 것을 목적으로 한다. 부린띠를 평균 회귀 지표로 사용하여 부린띠를 돌파하는 논리와 결합하여 새로운 트렌드의 시작을 포착한다.

전략 논리

이 전략의 핵심 논리는 다음과 같습니다.

  1. 브린 벨트는 20주기 EMA+/- 1.5 표준차로 그려져 있다.

  2. 잠재적인 반향을 예측하기 위해 2주기 전에 부린대에서 상위 또는 아래로 마감되는 가격을 추적하십시오.

  3. 현재 K 라인이 2주기를 돌파하기 전에 부린 반도의 다른 쪽에 있는 K 라인의 최고 가격 또는 최저 가격에 종결될 때, 출장 신호를 니다.

  4. 현재 K선에서 가장 높은 가격 또는 가장 낮은 가격에서 조금 떨어진 곳에 스톱로스를 설정한다.

  5. 미리 정의된 리스크/이익 비율에 따라 정지 포지션을 결정한다.

장점

이 전략의 주요 장점은 다음과 같습니다.

  1. 브린띠는 시장의 변동성 변화에 적응한다. 변동성이 높을 때 브린띠는 확대되어 잘못된 신호의 가능성을 줄인다.

  2. 부린 반도에 다시 진입하는 유세를 재발견하기 위한 것이다.

  3. 조정 가능한 리스크 수익률 입력으로, 유연한 리스크 관리를 제공합니다.

  4. 트렌드 상황에서는 상당한 반향을 일으킬 수 있다.

  5. 거래 플랫폼에 코딩되면 자동으로 입시, 중지, 중지할 수 있습니다.

위험

주요 위험 요소는 다음과 같습니다.

  1. 상환상황에서 발생할 수 있는 반복적인 상쇄손실

  2. 현재 K선 범위에서만 상쇄 손실이 발생하기 때문에, 틈새는 예상치 못한 강제 평준화를 초래할 수 있다.

  3. 이 전략의 실적을 제대로 평가하기에는 광범위한 재검토가 필요없습니다.

  4. 코딩 오류는 예기치 않은 주문이나 거래의 위험을 초래할 수 있습니다.

필터를 추가하고, 전체적인 성능을 평가하고, 실전에 충분한 테스트를 통해 이러한 위험을 줄일 수 있습니다.

더 나은 생각

이 전략은 다음과 같은 방법으로 강화될 수 있습니다.

  1. 교류량, RSI 또는 MACD와 같은 필터를 추가하여 신호의 정확성을 향상시킵니다.

  2. 특정 품종에 대한 최적화된 부린띠 주기 또는 표준차이의 배수.

  3. 재검토 결과에 따라 다른 시장에 대해 다른 리스크 수익률을 설정한다.

  4. 통합 트래킹 스톱 로스는 수익을 잠금합니다.

  5. 알고리즘으로 구현되고, 자동으로 주문 관리를 수행한다.

신중한 최적화와 품종 선택이 전략의 성공에 핵심이 될 것입니다.

요약하다

브린띠 트렌드 브레이크 트레이딩 전략은 새로운 트렌드에 접근하기 위한 규칙 기반의 방법을 제공합니다. 그것은 자조된 파장과 조기 브레이크 신호를 결합하여 가속화되기 시작하는 동력을 포착하는 것을 목표로합니다. 그러나 모든 체계화 전략과 마찬가지로 시장 주기의 제도적 변화에 대응하기 위해 탄탄한 역사 분석과 위험 관리가 필요합니다.

전략 소스 코드
/*backtest
start: 2024-02-25 00:00:00
end: 2024-02-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/


//@version=5
strategy("Bollinger Band Strategy with Early Signal (v5)", overlay=true)

// Inputs
length = 20
mult = 1.5
src = close
riskRewardRatio = input(3.0, title="Risk-Reward Ratio")

// Calculating Bollinger Bands
basis = ta.ema(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plotting Bollinger Bands
plot(upper, "Upper Band", color=color.red)
plot(lower, "Lower Band", color=color.green)

// Tracking Two Candles Ago Crossing Bollinger Bands
var float twoCandlesAgoUpperCrossLow = na
var float twoCandlesAgoLowerCrossHigh = na

if (close[2] > upper[2])
    twoCandlesAgoUpperCrossLow := low[2]
if (close[2] < lower[2])
    twoCandlesAgoLowerCrossHigh := high[2]

// Entry Conditions
longCondition = (not na(twoCandlesAgoLowerCrossHigh)) and (high > twoCandlesAgoLowerCrossHigh)
shortCondition = (not na(twoCandlesAgoUpperCrossLow)) and (low < twoCandlesAgoUpperCrossLow)

// Plotting Entry Points
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy Execution
if (longCondition)
    stopLoss = low - (high - low) * 0.05
    takeProfit = close + (close - stopLoss) * riskRewardRatio
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", stop=stopLoss, limit=takeProfit)

if (shortCondition)
    stopLoss = high + (high - low) * 0.05
    takeProfit = close - (stopLoss - close) * riskRewardRatio
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", stop=stopLoss, limit=takeProfit)