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

동적 리스크 관리 전략과 함께 두 개의 이동 평균의 크로스오버

저자:차오장, 날짜: 2024-11-12 17:29:24
태그:EMASMASLTPMM

img

전반적인 설명

이 전략은 이중 이동 평균 크로스오버 신호를 기반으로 한 양적 거래 시스템으로, 위험 관리를 위해 동적 스톱 로스 및 영업 메커니즘과 결합됩니다. 이 전략은 신호 지표로 20 기간 및 50 기간 기하급수적 이동 평균 (EMA) 을 사용하며, 평균 2.5%의 스톱 로스 및 4%의 영업 수준으로 수익과 위험을 균형을 맞추고 있습니다. 이 전략 디자인은 특히 위험 조절과 동시에 시장 트렌드 변화를 포착 할 수있는 중간 위험 관용을 가진 거래자에게 적합합니다.

전략 원칙

전략의 핵심 논리는 다음의 핵심 요소에 기초합니다.

  1. 신호 시스템: 빠른 (20주기) 및 느린 (50주기) 기하급수적 이동 평균의 교차를 사용합니다.
  2. 진입 조건: 빠른 MA가 느린 MA를 넘을 때 긴 포지션이 시작됩니다.
  3. 출구 메커니즘: 두 가지 시나리오를 포함합니다. 이동 평균 크로스오버 판매 신호 또는 스톱 로스/프로프트 취득 수준
  4. 리스크 제어: 각 거래에 대한 입시 가격에 따라 동적 스톱 로스 및 수익을 취하는 수준을 자동으로 설정합니다.

전략적 장점

  1. 체계적 거래: 완전히 체계화된 전략은 주관적 판단의 감정적 간섭을 줄여줍니다.
  2. 제어된 위험: 미리 설정된 스톱 로스 및 영업률을 통해 명확한 위험 통제를 제공합니다.
  3. 트렌드 추적: 중장기 트렌드를 효과적으로 파악하고 중요한 시장 기회를 놓치지 않도록 합니다.
  4. 유연한 매개 변수: 거래자는 자신의 위험 선호도에 따라 스톱 로스 및 취리 비율을 조정할 수 있습니다.
  5. 간단한 실행: 이해하기 쉽고 구현하기 쉬운 명확한 전략 논리

전략 위험

  1. 부진 시장 위험: 부진 시장에서 잘못된 신호로 인해 거래가 빈번해집니다.
  2. 미끄러짐 위험: 높은 변동성 중 실제 실행 가격은 신호 가격과 다를 수 있습니다.
  3. 트렌드 역전 위험: 급격한 트렌드 역전 시 스톱 로스는 충분히 빠르지 않을 수 있습니다.
  4. 매개 변수 의존성: 전략 성과는 이동 평균 기간과 위험 관리 매개 변수에 크게 달려 있습니다.

전략 최적화 방향

  1. 변동성 지표를 포함합니다. 시장 변동성에 따라 스톱 로스 및 영업률을 동적으로 조정합니다.
  2. 필터링 조건을 추가: 거래 신호를 볼륨, 트렌드 강도 및 기타 지표를 사용하여 필터링합니다.
  3. 이동 평균 기간을 최적화: 역사적 데이터 백테스팅을 통해 최적의 이동 평균 매개 변수를 찾습니다.
  4. 트렌드 필터를 추가합니다. 시세 시장에서 빈번한 거래를 피하기 위해 트렌드 결정 조건을 포함합니다.
  5. 복합 신호 개발: 확인 신호로 다른 기술적 지표를 도입

요약

이 전략은 동적 스톱 로스 및 테이프 리프트 수준으로 위험을 관리하면서 이동 평균 크로스오버를 통해 트렌드를 포착하는 잘 설계된 중간 리스크 양적 거래 전략이다. 전략의 주요 장점은 높은 체계적인 성격과 통제 된 위험에 있지만 전략 성능에 영향을 미치는 시장 조건에주의를 기울여야 한다. 지속적인 최적화와 개선을 통해 이 전략은 다양한 시장 환경에서 안정적인 성능을 유지할 수 있는 잠재력을 가지고 있다. 트레이더들은 라이브 구현 전에 철저한 역사 데이터 백테스팅을 실시하고 위험 용도에 따라 매개 변수를 조정하는 것이 좋습니다.


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

//@version=5
strategy("Estrategia STX - Medias Móviles con Riesgo Medio", overlay=true)

// Parámetros configurables
mmr_period = input.int(20, title="Periodo Media Móvil Rápida (MMR)")
mml_period = input.int(50, title="Periodo Media Móvil Lenta (MML)")
stop_loss_percent = input.float(2.5, title="Stop-Loss (%)", step=0.1) // Stop-Loss moderado
take_profit_percent = input.float(4.0, title="Take-Profit (%)", step=0.1) // Take-Profit moderado

// Cálculo de medias móviles (Exponenciales)
mmr = ta.ema(close, mmr_period) // Media Móvil Rápida
mml = ta.ema(close, mml_period) // Media Móvil Lenta

// Señales de Compra y Venta
long_condition = ta.crossover(mmr, mml)  // Señal de compra
short_condition = ta.crossunder(mmr, mml) // Señal de venta

// Calcular niveles de Stop-Loss y Take-Profit solo al activar la compra
var float entry_price = na
var float stop_loss_level = na
var float take_profit_level = na

if (long_condition)
    entry_price := close
    stop_loss_level := entry_price * (1 - stop_loss_percent / 100)
    take_profit_level := entry_price * (1 + take_profit_percent / 100)

// Condiciones de salida (Stop-Loss y Take-Profit)
exit_condition = (close <= stop_loss_level) or (close >= take_profit_level)

// Ejecución de Órdenes
if (long_condition)
    strategy.entry("Compra", strategy.long)

if (short_condition or exit_condition)
    strategy.close("Compra")

// Trazar Medias Móviles y Niveles
plot(mmr, color=color.blue, linewidth=2, title="Media Móvil Rápida (MMR)")
plot(mml, color=color.orange, linewidth=2, title="Media Móvil Lenta (MML)")
plot(not na(entry_price) ? stop_loss_level : na, color=color.red, style=plot.style_line, linewidth=1, title="Stop-Loss")
plot(not na(entry_price) ? take_profit_level : na, color=color.green, style=plot.style_line, linewidth=1, title="Take-Profit")


관련

더 많은