고급 동적 피보나치 수정 추세 양적 거래 전략

MA RSI
생성 날짜: 2024-12-12 14:32:18 마지막으로 수정됨: 2024-12-12 14:32:18
복사: 6 클릭수: 378
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

고급 동적 피보나치 수정 추세 양적 거래 전략

개요

이 전략은 피보나치 회귀 원칙에 기반한 고급 트렌드 추적 시스템이다. 그것은 중요한 피보나치 회귀 수준을 동적으로 계산하여 잠재적인 지지 및 저항 영역을 식별한다: [23.6%, 38.2%, 50%, 61.8%, 78.6%]. 시스템은 100 회의 회귀 창을 사용하여 최고점과 최저점을 결정하고, 이를 기반으로 각 회귀 수준을 계산한다. 전략은 정확한 입문 신호와 위험 관리 메커니즘을 통합하여 중요한 피보나치 수준에서 돌파를 통해 거래 신호를 유발한다.

전략 원칙

전략의 핵심 논리는 주요 추세에서 가격이 중요한 피보나치 회수 수준 근처에서 역전되는 이론에 기초합니다. 구체적으로:

  1. 시스템은 회수 레벨의 동적인 업데이트를 보장하기 위해 스크롤 창을 통해 최고점과 최저점을 지속적으로 계산합니다.
  2. 가격 상승이 61.8%의 회수 수준을 넘어서면 상승 추세가 계속되는 것을 나타내는 여러 신호가 발생합니다.
  3. 가격이 38.2%의 회수수준을 넘으면, 시스템은 하향 신호로 인식합니다.
  4. 스톱은 100% 회수 수준 (최고점), 스톱로스는 0% 회수 수준 (최저점) 으로 설정되어 있습니다.
  5. 전략은 plot 함수를 사용하여 그래프에서 각 핵심 레벨을 표시하여 시각적 분석을 용이하게합니다.

전략적 이점

  1. 역동적 적응성 - 전략은 시장 조건에 따라 회수 수준을 자동으로 조정할 수 있습니다.
  2. 리스크 관리가 완벽합니다. 리스크를 미리 설정된 정지 위치로 엄격하게 제어합니다.
  3. 신호가 명확하게 객관적 - 입출력 신호가 객관적인 가격 돌파구에 기반하여 주관적인 판단을 줄인다
  4. 높은 가시성 - 분석 및 검증하기 위해 중요한 가격표를 명확하게 표시합니다.
  5. 매개 변수 조정성 - 회귀 주기와 피보나치 수 평균은 필요에 따라 유연하게 조정할 수 있습니다.

위험 분석

  1. 위기 시장 위험 - 수평 정리 단계에서 잘못된 신호가 발생할 수 있습니다.
  2. 지연 위험 - 역사 데이터에 기반한 계산으로 신호 지연이 발생할 수 있습니다.
  3. 폭락 위험 - 폭락 가격으로 인해 손실이 발생할 수 있습니다.
  4. 매개 변수 민감성 - 다양한 회귀 주기 설정이 정책 성능에 영향을 미칩니다. 위험은 다음과 같이 조절할 수 있습니다.
  • 동향 지표와 함께 시장 환경을 확인
  • 적절히 정지 위치를 조정
  • 이동식 상쇄 방식을 사용함
  • 규칙적으로 최적화 정책 변수

전략 최적화 방향

  1. 트렌드 필터를 추가하여 명확한 트렌드에서만 거래하십시오.
  2. 수량 확인 신호를 도입
  3. 이동식 상쇄장치와 같은 상쇄상쇄장치 최적화
  4. 시장의 변동성을 필터링하는 조건을 증가시키는 것
  5. 적응적 역주기 조정 메커니즘 개발

요약하다

이것은 클래식 기술 분석 이론에 기초한 체계화 된 거래 전략이다. 프로그래밍 구현을 통해 객관성과 반복성을 갖는다. 전략의 핵심 장점은 피보나치 이론과 엄격한 위험 통제를 결합하여 트렌딩 시장에서 적용하기에 적합하다. 지속적인 최적화 및 개선으로 전략은 다양한 시장 환경에서 안정적인 성능을 유지할 것으로 예상된다.

전략 소스 코드
/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fibonacci Retracement Strategy", overlay=true)

// Inputs
lookback_period = input.int(100, title="Lookback Period")
level_1 = input.float(0.236, title="Fibonacci Level 1")
level_2 = input.float(0.382, title="Fibonacci Level 2")
level_3 = input.float(0.5, title="Fibonacci Level 3")
level_4 = input.float(0.618, title="Fibonacci Level 4")
level_5 = input.float(0.786, title="Fibonacci Level 5")

// Calculate highest high and lowest low over the lookback period
high_level = ta.highest(high, lookback_period)
low_level = ta.lowest(low, lookback_period)

// Calculate Fibonacci retracement levels
fib_236 = low_level + (high_level - low_level) * level_1
fib_382 = low_level + (high_level - low_level) * level_2
fib_50 = low_level + (high_level - low_level) * level_3
fib_618 = low_level + (high_level - low_level) * level_4
fib_786 = low_level + (high_level - low_level) * level_5

// Plot Fibonacci levels on the chart
plot(fib_236, color=color.green, title="Fib 23.6%")
plot(fib_382, color=color.blue, title="Fib 38.2%")
plot(fib_50, color=color.orange, title="Fib 50%")
plot(fib_618, color=color.red, title="Fib 61.8%")
plot(fib_786, color=color.purple, title="Fib 78.6%")

// Entry and Exit Conditions
buy_signal = ta.crossover(close, fib_618)
sell_signal = ta.crossunder(close, fib_382)

// Strategy Orders
if buy_signal
    strategy.entry("Buy", strategy.long)

// Exit based on stop-loss and take-profit conditions
take_profit = high_level // Exit at the highest Fibonacci level (100%)
stop_loss = low_level    // Exit at the lowest Fibonacci level (0%)

strategy.exit("Sell", from_entry="Buy", limit=take_profit, stop=stop_loss)

// Visualization of Signals
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")