볼링거 밴드 및 피보나치 리트레이싱 전략 (Bollinger Bands and Fibonacci Retracement Strategy) 은 볼링거 밴드 및 피보나치 리트레이싱 수준을 결합한 거래 전략이다. 이 전략은 시장 변동성을 측정하기 위해 볼링거 밴드를 활용하고 상위 또는 하위 밴드 이상의 또는 아래의 가격 브레이크에 기반하여 거래 신호를 생성합니다. 동시에 전략은 잠재적 인 지원 및 저항 수준을 식별하고 거래에 대한 진입 및 출구 지점을 결정하기 위해 피보나치 리트레이싱 수준을 사용합니다.
이 전략의 핵심은 볼링거 밴드와 피보나치 리트레이싱 레벨의 결합 적용에 있습니다.
볼링거 밴드는 세 가지 라인으로 구성됩니다: 중간 밴드, 상위 밴드, 하위 밴드. 중간 밴드는 가격의 이동 평균이며 상위 및 하위 밴드는 중간 밴드 위에 및 아래에 일정 수의 표준 편차로 배치됩니다. 가격이 상위 밴드 이상으로 넘어가면 잠재적인 과잉 구매 상태를 나타내고 판매 신호를 생성합니다. 반대로 가격이 하위 밴드 아래에 넘어가면 잠재적인 과잉 판매 상태를 나타내고 구매 신호를 생성합니다.
피보나치 리트레이싱 레벨은 피보나치 계열에서 파생된 가격 수준이다. 이러한 레벨은 일반적으로 시장의 주요 지원 및 저항 수준으로 간주됩니다. 가격이 이러한 수준으로 리트레이싱되면 시장은 유행 추세의 반전 또는 계속성을 경험할 수 있습니다.
이 전략의 결정 과정은 다음과 같습니다.
볼링거 밴드와 피보나치 리트레이싱 레벨을 결합함으로써 이 전략은 시장 변동성이 증가하는 기간 동안 거래 기회를 포착하고 피보나치 레벨을 사용하여 거래 위험과 목표를 관리하는 것을 목표로합니다.
볼링거 밴드 및 피보나치 리트랙먼트 전략 (Bollinger Bands and Fibonacci Retracement Strategy) 은 볼링거 밴드 및 피보나치 리트랙먼트 수준을 결합하여 시장 변동성이 증가하는 기간 동안 거래 기회를 포착하고 피보나치 수준을 사용하여 위험을 관리합니다. 이 전략은 명확한 거래 규칙을 제공하고 좋은 적응력을 보여줍니다. 그러나 시장 소음, 트렌드 식별 과제, 매개 변수 최적화 및 변화하는 시장 조건과 같은 위험에 직면합니다. 전략의 성능을 더욱 향상시키기 위해 다른 기술적 지표를 통합하고 매개 변수를 최적화하고 더 고급 스톱 로스 및 영리 메커니즘을 도입하고 시장 트렌드 분석을 통합하는 데 고려 할 수 있습니다. 전반적으로 볼링거 밴드 및 피보나치 리트랙먼트 전략은 거래자에게 변동성 기반 및 지원 / 저항 기반 접근 방식을 제공하지만 특정 시장 조건에 따라 신중한 조정 및 최적화를 요구합니다.
/*backtest start: 2024-02-13 00:00:00 end: 2024-03-14 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands & Fibonacci Strategy", overlay=true) // Bollinger Bands Parameters source = close length = input.int(20, minval=1) mult = input.float(2.0, minval=0.001, maxval=50) // Fibonacci Levels fib_levels = input.bool(true, "Use Fibonacci Levels") fib_level1 = input.float(0.236, title="Fib Level 1", minval=0.001, maxval=1) fib_level2 = input.float(0.382, title="Fib Level 2", minval=0.001, maxval=1) fib_level3 = input.float(0.618, title="Fib Level 3", minval=0.001, maxval=1) // Strategy Entry basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upper = basis + dev lower = basis - dev if (ta.crossover(source, lower)) strategy.entry("BBandLE", strategy.long, comment="BBandLE") else strategy.cancel(id="BBandLE") if (ta.crossunder(source, upper)) strategy.entry("BBandSE", strategy.short, comment="BBandSE") else strategy.cancel(id="BBandSE") // Calculate Fibonacci Levels // fib_low = ta.lowest(low, length) // fib_high = ta.highest(high, length) // fib_range = fib_high - fib_low // fib_level1_price = fib_high - fib_range * fib_level1 // fib_level2_price = fib_high - fib_range * fib_level2 // fib_level3_price = fib_high - fib_range * fib_level3 // // Plot Fibonacci Levels // var line fib_level1_line = na // var line fib_level2_line = na // var line fib_level3_line = na // if fib_levels // if bar_index > length // fib_level1_line := line.new(bar_index[length], fib_level1_price, bar_index, fib_level1_price, color=color.blue) // fib_level2_line := line.new(bar_index[length], fib_level2_price, bar_index, fib_level2_price, color=color.green) // fib_level3_line := line.new(bar_index[length], fib_level3_price, bar_index, fib_level3_price, color=color.orange) // if bar_index <= length // // line.delete(fib_level1_line) // // line.delete(fib_level2_line) // // line.delete(fib_level3_line)