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

리스크/보상비율 최적화 전략과 함께 거래 시스템을 따르는 이중 이동 평균 트렌드

저자:차오장, 날짜: 2024-11-28 17:20:13
태그:EMARRR

img

양적 거래 분야에서 트렌드 다음 전략은 항상 가장 인기있는 거래 방법 중 하나입니다. 이 기사는 최적화된 위험 보상 비율을 통해 거래 효율성을 향상시키는 이중 이동 평균 시스템에 기반한 트렌드 다음 전략을 소개합니다.

전략 개요

이 전략은 20일 및 200일 기하급수적 이동 평균 (EMA) 을 주요 지표로 사용하고, 거래 결정에 3: 1의 리스크-어워드 비율과 결합합니다. 가격은 20일 EMA를 넘어서고 20일 EMA가 200일 EMA를 넘었을 때 구매 신호가 생성됩니다. 각 거래에는 제어된 위험을 보장하기 위해 고정 스톱 로스 (-0.5%) 및 영업 수익 (1.5%) 수준이 있습니다.

전략 원칙

핵심 논리는 몇 가지 핵심 요소를 포함합니다.

  1. 시장 트렌드를 판단하기 위해 20일 및 200일 EMA를 사용합니다. 200일 EMA는 장기 트렌드를 나타내고 20일 EMA는 단기 움직임을 반영합니다.
  2. 구매 신호는 가격이 20일 EMA를 넘어서고 20일 EMA가 200일 EMA를 넘어서면 상승 추세를 나타냅니다.
  3. 리스크/리워드 비율은 3: 1이며, 영업률 (1.5%) 는 스톱 로스 수준 (0.5%) 의 3배입니다.
  4. 트레이드 상태를 추적하고 중복된 항목을 피하기 위해 변수를 사용합니다.
  5. 가격이 20일 EMA 이하로 떨어지면 거래 상태를 재설정하여 다음 거래에 대비합니다.

전략적 장점

  1. 이중 이동 평균 시스템은 시장 소음을 효과적으로 필터링하고 신호 신뢰성을 향상시킵니다.
  2. 고정된 위험/이익 비율은 장기적으로 수익성 있는 거래를 지원합니다.
  3. 명확한 입국 및 출입 규칙은 주관적 판단을 줄입니다.
  4. 높은 자동화 수준, 쉽게 구현 및 백테스트
  5. 각 거래에 대한 명확한 스톱 로스 레벨을 갖춘 포괄적인 리스크 제어 메커니즘

전략 위험

  1. 다양한 시장에서 자주 잘못된 신호를 생성 할 수 있습니다.
  2. 고정된 스톱 로스 및 영업률은 모든 시장 조건에 적합하지 않을 수 있습니다.
  3. 고려되지 않은 거래 비용은 실제 수익에 영향을 줄 수 있습니다.
  4. 스톱 로스 투자는 고 변동성 시장 진입에 너무 가깝을 수 있습니다.
  5. 고려되지 않은 시장 유동성 요인

최적화 방향

  1. 트렌드 판단의 정확성을 향상시키기 위해 부피 지표를 도입하십시오.
  2. 시장 변동성에 따라 스톱 로스 및 영업 취득 수준을 동적으로 조정합니다.
  3. 잘못된 신호를 줄이기 위해 트렌드 강도 필터를 추가
  4. 시장 감정 지표를 포함하는 것을 고려하십시오.
  5. 더 나은 돈 관리를 위해 포지션 관리 시스템을 최적화

요약

이것은 명확한 논리를 가진 전략을 따르는 잘 구성된 추세입니다. 고정된 위험-상금 비율과 함께 이중 이동 평균 시스템을 결합함으로써 전략은 위험 통제를 유지하면서 좋은 수익을 달성합니다. 최적화 할 수있는 영역이 있지만 전반적으로 추가 연구와 개선을받을 가치가있는 거래 시스템입니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Compra con Ratio 3:1", overlay=true)

// Parámetros de la temporalidad diaria y las EMAs
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)

// Condiciones para la entrada en largo
cierre_por_encima_ema20 = close > ema20
ema20_mayor_ema200 = ema20 > ema200

// Variable para registrar si ya se realizó una compra
var bool compra_realizada = false

// Condición para registrar una compra: primera vez que cierra por encima de EMA 20 con EMA 20 > EMA 200
if (cierre_por_encima_ema20 and ema20_mayor_ema200 and not compra_realizada)
    // Abrir una operación de compra
    strategy.entry("Compra", strategy.long)
    compra_realizada := true  // Registrar que se realizó una compra

    // Definir los niveles de stop loss y take profit basados en el ratio 3:1
    stop_loss = strategy.position_avg_price * 0.995  // -0.50% (rendimiento)
    take_profit = strategy.position_avg_price * 1.015  // +1.50% (3:1 ratio)
    
    // Establecer el stop loss y take profit
    strategy.exit("Take Profit / Stop Loss", from_entry="Compra", stop=stop_loss, limit=take_profit)

// Condición para resetear la compra: cuando el precio cierra por debajo de la EMA de 20
if (close < ema20)
    compra_realizada := false  // Permitir una nueva operación

// Ploteo de las EMAs
plot(ema20, title="EMA 20", color=color.blue, linewidth=2)
plot(ema200, title="EMA 200", color=color.red, linewidth=2)

// Colorear el fondo cuando el precio está por encima de ambas EMAs
bgcolor(cierre_por_encima_ema20 and ema20_mayor_ema200 ? color.new(color.green, 80) : na)


관련

더 많은