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

블랙 스완 변동성 및 이동 평균 크로스오버 모멘텀 추적 전략

저자:차오장, 날짜: 2024-12-13 11:52:51
태그:EMASMAATR

img

전반적인 설명

이 전략은 가격 변동성과 이동 평균 크로스오버를 기반으로 하는 모멘텀 추적 거래 시스템이다. 가격 변동성이 1.91%를 초과하는 (블랙 스완 이벤트) 를 모니터링하여 신호를 유발하고 EMA144 및 EMA169 크로스오버를 결합하여 트렌드 방향과 출구 시기를 확인합니다. 이 전략은 특히 1-3 분 시간 프레임에서 단기 거래에 적합하며 중요한 시장 변동 기회를 빠르게 포착 할 수 있습니다.

전략 원칙

핵심 논리는 두 가지 주요 구성 요소로 구성됩니다.

  1. 변동성 모니터링: 종료 가격과 개시 가격 사이의 절대 차이를 계산하고, 이 비율이 1.91%를 초과할 때 거래 신호를 유발합니다.
  2. 트렌드 확인: 트렌드 방향을 확인하기 위해 EMA144 및 EMA169 크로스오버를 사용하며, 상향 크로스에서 길고 하향 크로스에서는 짧습니다. SMA60 및 SMA20도 보조 지표로 통합됩니다.

이 전략은 1.91퍼센트 이상의 상승 변동성을 감지할 때 긴 포지션과 하락 변동성을 감지할 때 짧은 포지션을 입력합니다. 이동 평균이 반대 방향으로 교차할 때 자동으로 포지션이 닫히며 위험을 관리합니다.

전략적 장점

  1. 빠른 반응: 전략은 단기 거래에 이상적으로 급격한 시장 움직임을 즉시 포착합니다.
  2. 리스크 제어: 이동 평균 크로스오버를 출구 신호로 사용하여 포지션 리스크를 효과적으로 관리합니다.
  3. 높은 유연성: 다양한 시장 조건에 최적화 할 수 있도록 백테스팅 기간 사용자 정의 및 매개 변수 조정.
  4. 포괄적인 포지션 관리: 포지션 사이징을 위해 계정 자금 비율을 사용하고 최대 3배 피라미드 스케일링을 지원합니다.

전략 위험

  1. 가짜 브레이크업 위험: 매우 변동적인 시장에서 불필요한 거래로 이어지는 잘못된 신호를 생성할 수 있습니다.
  2. 미끄러짐 위험: 단기 거래는 상당한 미끄러짐 손실을 겪을 수 있습니다.
  3. 트렌드 역전 위험: 극심한 변동에 따라 급격한 트렌드 역전 가능성이 있습니다.
  4. 매개 변수 민감성: 전략 성능은 매개 변수 설정에 크게 의존하며, 다른 시장 조건에서 빈번한 조정이 필요합니다.

최적화 방향

  1. 변동성 필터링을 포함합니다. 시장 소음을 필터링하고 신호 품질을 향상시키기 위해 ATR 지표를 추가하는 것이 좋습니다.
  2. 입력 시기를 최적화: 입력 정확도를 높이기 위해 볼륨 확인을 추가하는 것을 고려하십시오.
  3. 동적 매개 변수 조정: 시장 조건에 따라 자동으로 트리거 임계치를 조정할 수 있는 적응적 매개 변수 시스템을 개발하는 것을 제안합니다.
  4. 강화된 스톱 로스 메커니즘: 축적된 이익을 더 잘 보호하기 위해 후속 스톱 로스 기능을 추가하는 것이 좋습니다.

요약

이 전략은 이동 평균 크로스오버와 변동성 모니터링을 결합하여 시장 이상과 추세에 빠른 반응을 달성합니다. 전략 디자인이 좋은 위험 제어 메커니즘과 함께 건전하지만, 거래자는 실제 시장 조건에 따라 매개 변수를 최적화하고 위험을 관리해야합니다. 라이브 거래에서 작은 포지션으로 시작하여 다른 시장 환경에서 전략 성능을 점차 검증하는 것이 좋습니다.


/*backtest
start: 2024-12-05 00:00:00
end: 2024-12-12 00:00:00
period: 45m
basePeriod: 45m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

//黑天鹅警报器,作者():道格拉斯机器人
//适合1分钟-3分钟的k线,发生波动超过百分之二时,自动报警
strategy('黑天鹅警报', overlay=true, initial_capital=10000, currency='USD', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, pyramiding=3)
//-------------------------------------------
//-------------------------------------------
timecondition = timeframe.period == '480' or timeframe.period == '240' or timeframe.period == 'D' or timeframe.period == '720'
// Make input options that configure backtest date range
startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31)
startMonth = input.int(title='Start Month', defval=11, minval=1, maxval=12)
startYear = input.int(title='Start Year', defval=2018, minval=1800, maxval=2100)
endDate = input.int(title='End Date', defval=1, minval=1, maxval=31)
endMonth = input.int(title='End Month', defval=11, minval=1, maxval=12)
endYear = input.int(title='End Year', defval=2031, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)



// Inputs
a = input(1, title='Key Vaule. \'This changes the sensitivity\'')
c = input(10, title='ATR Period')
h = input(false, title='Signals from Heikin Ashi Candles')


ma60 = ta.sma(close, 60)
ema144 = ta.ema(close, 144)

ema169 = ta.ema(close, 169)
ma20 = ta.sma(close, 20)


plot(ema144, color=color.new(color.yellow, 0), title='144')
plot(ema169, color=color.new(color.orange, 0), title='169')


heitiane = close - open
heitiane := math.abs(heitiane)
heitiane /= close

if inDateRange and heitiane > 0.0191 and close < open  //  and close>f3
    strategy.entry('botsell20', strategy.short, comment='黑天鹅追空' + str.tostring(heitiane))

if ta.crossover(ema144, ema169)
    strategy.close('botsell20', comment='平空')
if inDateRange and heitiane > 0.0191 and close > open  //  and close>f3
    strategy.entry('botbuy20', strategy.long, comment='白天鹅追多' + str.tostring(heitiane))

if ta.crossunder(ema144, ema169)
    strategy.close('botbuy20', comment='平多')




관련

더 많은