리소스 로딩... 로딩...

보린저 대역을 기반으로 한 국경 간 동적 범위 양적 거래 전략

저자:차오장, 날짜: 2024-12-27 15:39:49
태그:BBSMASDMAROEPNL

img

전반적인 설명

이 전략은 볼링거 밴드 지표에 기반한 양적 거래 시스템으로, 동적 범위 돌파 신호를 통해 시장 추세를 포착합니다. 전략은 표준 오차 채널을 핵심 지표로 사용하고, 전체 위치 동적 조정 달성을 위해 기금 관리 시스템과 결합합니다. 전체 설계는 위험 통제와 안정적인 수익을 추구하는 데 중점을두고 있습니다.

전략 원칙

이 전략은 중앙 축으로 20 기간 이동 평균을 사용하며, 동적 채널을 형성하기 위해 표준 편차의 2 배의 상향과 하향을 취합니다. 가격이 하부 레일을 통과할 때, 그것은 과판 신호로 간주되며 시스템이 전체 위치로 구매합니다; 가격이 상위 레일을 통과할 때, 그것은 과반 신호로 간주되며 시스템이 전체 위치로 판매합니다. 거래 신호의 동적 적응성을 보장하기 위해 변동성은 표준 편차를 통해 측정됩니다. 한편, 전략은 펀드 관리 시스템을 통합하여 계좌 자본에 따라 자동으로 위치 크기를 조정합니다. 또한 전략에는 자동화 거래 인터페이스가 포함되어 있습니다. 거래소와 웹 룩을 통해 자동화 실행을 달성 할 수 있습니다.

전략적 장점

  1. 강력한 동적 적응력: 볼링거 밴드는 표준 오차 계산을 기반으로 시장 변동성에 따라 거래 범위를 자동으로 조정하여 다른 시장 환경에 적응할 수 있습니다.
  2. 포괄적 리스크 관리: 지점 관리의 비율을 사용하여 계좌 자본에 따라 거래 크기를 동적으로 조정하여 위험을 효과적으로 제어합니다.
  3. 높은 자동화 수준: 교환 API 인터페이스를 통합하고 자동 신호 실행을 지원하여 인간의 개입을 줄입니다.
  4. 명확한 전략 논리: 명확한 판단 기준으로 가격과 볼링거 밴드 크로스오버를 기반으로 거래 신호를 결정합니다.
  5. 우수한 계산 효율성: 간단한 핵심 지표 계산, 고 주파수 거래 환경에 적합합니다.

전략 위험

  1. 오스실레이션 시장에서 불리: 옆으로 오스실레이션 시장에서 잘못된 신호에 취약하여 빈번한 거래를 유발합니다.
  2. 트렌드 지연: 이동 평균은 본질적으로 지연 지표이며 급격한 변동 중에 최적의 입시 시기를 놓칠 수 있습니다.
  3. 자본 효율성: 전체 포지션 거래 방법은 과도한 자본 활용으로 이어질 수 있으며 위험도 증가할 수 있습니다.
  4. 기술 의존성: 자동 실행은 네트워크 및 API 안정성에 의존하며 기술적 위험을 초래합니다.

전략 최적화 방향

  1. 신호 필터링: 잘못된 신호를 줄이기 위해 MACD 또는 RSI와 같은 트렌드 확인 지표를 도입하는 것이 좋습니다.
  2. 포지션 관리: 단일 풀 포지션 운영 위험을 피하기 위해 점진적인 포지션 구축 계획을 채택 할 수 있습니다.
  3. 스톱 로스 최적화: 수익 능력을 향상시키기 위해 후속 스톱 로스 메커니즘을 추가합니다.
  4. 매개 변수 최적화: 전략 안정성을 향상시키기 위해 백테스팅을 통해 볼링거 밴드 매개 변수를 최적화하는 것이 좋습니다.
  5. 시장 적응: 다른 시장 환경에서 다른 매개 변수를 사용하기 위해 시장 상태 판단 모듈을 추가 할 수 있습니다.

요약

이 전략은 볼링거 밴드 기술 지표를 통해 펀드 관리와 자동화 실행을 결합하여 강력한 실용성을 가진 완전한 양적 거래 시스템을 구축합니다. 특정 한계가 있지만 제안된 최적화 방향을 통해 전략의 안정성과 수익성이 더욱 향상 될 수 있습니다. 전략은 높은 변동성이있는 시장에 적합하며 안정적인 수익을 추구하는 투자자에게 참조 가치를 가지고 있습니다.


/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-25 08:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy", overlay=true, initial_capital=86, default_qty_type=strategy.percent_of_equity)

// Parameter für die Bollinger-Bänder
length = input.int(20, title="Bollinger Bands Length")
mult = input.float(2.0, title="Bollinger Bands Multiplier")

// Berechnung der Bollinger-Bänder
basis = ta.sma(close, length)
upper = basis + mult * ta.stdev(close, length)
lower = basis - mult * ta.stdev(close, length)

// Startkapital
usdt_balance = 86.0 // Anfangsbetrag in USDT
zerebro_balance = 52.0 // Anfangsbetrag in ZEREBRO

// Bedingungen für Kauf- und Verkaufssignale
longCondition = ta.crossover(close, lower)
shortCondition = ta.crossunder(close, upper)

// Kauf- und Verkaufslogik
if (longCondition and usdt_balance > 0)
    strategy.entry("Buy", strategy.long, qty=usdt_balance / close)
    usdt_balance := 0 // Alle USDT werden verwendet
    zerebro_balance += strategy.position_size // Gekaufte ZEREBRO hinzufügen

if (shortCondition and zerebro_balance > 0)
    strategy.close("Buy")
    usdt_balance += strategy.position_size * close // Verkaufserlös in USDT
    zerebro_balance := 0 // Alle ZEREBRO verkauft

// Plot der Bollinger-Bänder
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.green, title="Upper Band")
plot(lower, color=color.red, title="Lower Band")

// Alerts für Bybit-Verbindung
alertcondition(longCondition, title="Buy Alert", message='{"action": "buy", "symbol": "ZEREBRO/USDT"}')
alertcondition(shortCondition, title="Sell Alert", message='{"action": "sell", "symbol": "ZEREBRO/USDT"}')

// Automatische Verknüpfung mit Bybit
// Stellen Sie sicher, dass Sie den Webhook-URL in TradingView einstellen und korrekt mit Bybit verbinden.



관련

더 많은