볼린저 밴드와 피보나치 수정 전략


생성 날짜: 2024-03-15 15:46:04 마지막으로 수정됨: 2024-03-15 15:46:04
복사: 0 클릭수: 987
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

볼린저 밴드와 피보나치 수정 전략

전략 개요

부린띠와 피보나치 리드워드 전략은 부린띠와 피보나치 리드워드 수준을 결합한 거래 전략이다. 이 전략은 부린띠와 피보나치 리드워드 수준을 사용하여 시장의 변동성을 측정하고, 가격이 부린띠를 뚫고 궤도에 오르거나 내리면 거래 신호를 생성한다. 동시에, 전략은 피보나치 리드워드 수준을 사용하여 잠재적인 지원 및 저항 지점을 결정하여 거래의 입구와 출구를 결정한다.

전략 원칙

이 전략의 핵심은 부린띠와 피보나치 리드킹 레벨의 결합된 적용이다.

브린 띠는 3개의 선으로 구성된다: 중간 궤도, 상단 궤도 및 하단 궤도. 중간 궤도는 가격의 이동 평균이며, 상단 궤도 및 하단 궤도는 각각 중간 궤도의 기초에 표준 차이를 더하고 다. 가격이 상단 궤도를 돌파 할 때, 시장이 과매 지역으로 들어갈 수 있음을 나타냅니다. 판매 신호를 생성; 가격이 하단 궤도를 돌파 할 때, 시장이 과매 지역으로 들어가 구매 신호를 생성 할 수 있음을 나타냅니다.

피보나치 회귀 수준은 피보나치 수를 바탕으로 계산된 가격 수준이다. 이 수준은 일반적으로 시장의 중요한 지지점과 저항점으로 간주된다. 가격이 이 수준으로 회귀하면 시장은 반전 또는 원래의 추세를 계속할 수 있다.

이 전략의 결정 과정은 다음과 같습니다.

  1. 가격 하향이 브린을 타격할 때, 구매 신호가 발생하고, 더 많은 포지션을 다.
  2. 가격 상승이 브린 띠를 뚫고 경로에 올랐을 때, 판매 신호가 발생하고, 포지션이 공백됩니다.
  3. 피보나치 리모델링 레벨을 사용하여 거래의 입점, 출구, 스톱로스 및 목표치를 결정합니다.

브린 대역과 피보나치 회귀 수준을 결합하여, 이 전략은 시장의 변동이 심해지면 거래 기회를 적시에 잡을 수 있으며, 피보나치 수준을 사용하여 거래 위험과 목표를 관리할 수 있다.

전략적 이점

  1. 트렌드 및 변동성 지표: 브린 띠와 피보나치 회귀 수준을 결합하여 시장의 추세와 변동성을 동시에 고려하여 거래 신호의 신뢰성을 향상시킵니다.
  2. 명확한 출입 및 출입 규칙: 전략은 명확한 거래 신호와 출입 규칙을 제공하여 거래자가 적절한 거래 결정을 내릴 수 있도록 돕습니다.
  3. 리스크 관리: 피보나치 리콜 레벨은 거래에 대한 명확한 스톱 로즈 및 타겟 지점을 제공하여 거래 위험을 제어하는 데 도움이됩니다.
  4. 유연성: 이 전략은 다른 시장과 시간대에 적용될 수 있으며, 유연성이 강하다.

전략적 위험

  1. 시장 소음: 브린 띠는 가격 변동에 민감하며, 시장 소음이 많으면 잘못된 신호가 발생할 수 있다.
  2. 트렌드 식별: 이 전략은 주로 변동성 지표에 기반하며, 시장의 추세를 식별하는 능력이 약하며, 추세가 강한 시장에서는 좋지 않을 수 있습니다.
  3. 매개 변수 최적화: 전략의 성능은 브린 밴드 및 피보나치 리콜 레벨의 매개 변수 설정에 민감하며, 부적절한 매개 변수는 전략의 부실 성능을 초래할 수 있다.
  4. 시장 환경의 변화: 전략은 특정 시장 환경에서 잘 작동하지만, 시장 환경이 변경되면 전략은 실패할 수 있습니다.

최적화 방향

  1. 다른 기술 지표와 결합: 트렌드 지표, 동력 지표 등과 결합하여 거래 신호의 신뢰성을 높이는 것을 고려할 수 있습니다.
  2. 최적화 매개 변수: 브린 대역의 주기, 표준 차이의 배수, 그리고 피보나치 회귀 수준을 최적화하여 다른 시장 환경에 적응한다.
  3. 스톱 및 스톱 전략을 추가하십시오. 기존 전략에 기반하여 이동 스톱, 동적 스톱과 같은 더 나은 스톱 및 스톱 전략을 도입하여 위험을 더 잘 제어하고 수익을 고정하십시오.
  4. 시장의 추세를 고려: 전략에 시장의 추세에 대한 판단을 포함, 추세가 강할 때 우세한 전략을 취하고, 흔들리는 시장에서 파도 연산을 취하여 전략의 적응성을 높인다.

요약하다

브린띠와 피보나치 회귀 전략은 브린띠와 피보나치 회귀 수준을 결합하여 시장의 변동이 심해지면 거래 기회를 포착하고 피보나치 수준을 활용하여 위험 관리를 수행합니다. 이 전략은 명확한 거래 규칙과 좋은 적응력을 가지고 있지만 동시에 시장 소음, 트렌드 식별, 매개 변수 최적화 및 시장 환경 변화와 같은 위험에 직면합니다. 전략의 성능을 더 향상시키기 위해 다른 기술 지표와 결합하는 것을 고려 할 수 있습니다. 최적화 매개 변수, 더 나은 스톱 스톱 전략을 도입하고 시장 추세 판단에 참여하는 등의 최적화 조치.

전략 소스 코드
/*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)