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

이중 이동 평균 크로스오버 전략

저자:차오장, 날짜: 2024-11-27 15:05:02
태그:SMAMATPSL

img

전반적인 설명

이 전략은 이중 이동 평균 크로스오버 신호를 기반으로 하는 적응형 거래 전략이다. 이 전략은 거래 신호를 생성하기 위해 14주기 및 28주기 단순 이동 평균 (SMA) 을 활용하고, 균형 잡힌 위험 보상 관리를 달성하기 위해 조정 가능한 스톱 로스 및 영리 메커니즘과 결합한다. 이 전략은 거래당 2000과 200의 초기 자본으로 고정 금전 관리를 사용한다.

전략 원칙

핵심 논리는 서로 다른 기간의 두 개의 SMA 사이의 교차 관계에 기반합니다. 단기 (14 기간) MA가 장기 (28 기간) MA를 넘을 때 긴 신호가 생성되며 단기 MA가 장기 MA를 넘을 때 짧은 신호가 생성됩니다. 전략은 각각 2%와 4%로 설정된 비율 기반의 스톱 로스 및 영업 메커니즘을 통합하여 시장 가격에 따라 출구 지점을 자동 조정 할 수 있습니다.

전략적 장점

  1. 명확한 신호: 이동 평균 크로스오버는 주관적 판단을 제거하는 명확하고 객관적인 신호를 제공합니다.
  2. 강력한 리스크 제어: 점유율을 기준으로 하는 스톱 로스 및 영업률은 시장 가격에 따라 자동으로 조정되며, 다른 시장 조건에 적응합니다.
  3. 합리적인 자금 관리: 고정 할당 방식은 과도한 레버리지와 관련된 위험을 방지합니다.
  4. 좋은 시각화: 전략은 이해와 모니터링을 촉진하는 차트에서 거래 신호와 이동 평균 트렌드를 표시합니다.
  5. 유연한 매개 변수: 스톱 로스 및 취득 매개 변수는 다른 시장 조건과 개인 위험 선호도에 따라 조정될 수 있습니다.

전략 위험

  1. 시장 위험: 옆 시장에서 빈번하게 교차하면 잘못된 신호가 발생할 수 있습니다.
  2. 미끄러짐 위험: 높은 변동성 기간 동안 실제 실행 가격은 신호 가격과 다를 수 있습니다.
  3. 고정 스톱 로스 범위: 스톱 로스 포인트가 가격에 따라 조정되지만 고정 비율은 모든 시장 조건에 맞지 않을 수 있습니다.
  4. 자본 효율성: 고정 금전 할당은 특정 시나리오에서 최적의 자본 활용을 초래할 수 있습니다.

전략 최적화 방향

  1. 트렌드 필터를 구현하십시오. MACD 또는 RSI와 같은 추가 트렌드 지표를 추가하여 잘못된 신호를 줄이십시오.
  2. 동적 스톱 로스 메커니즘: 더 나은 적응력을 위해 시장 변동성에 따라 스톱 로스 비율을 조정합니다.
  3. 자금 관리 최적화: 자본 효율성을 향상시키기 위해 변동성 기반 포지션 사이징을 도입하십시오.
  4. 시간 필터를 추가합니다. 매우 변동적인 기간을 피하기 위해 거래 시간 제한을 구현합니다.
  5. 유출 통제를 포함합니다. 특정 임계값에 도달하면 거래를 중단하는 최대 유출 제한을 설정합니다.

요약

이것은 잘 구성되어 있고 논리적으로 건전한 거래 전략이다. 이중 이동 평균 크로스오버를 통해 거래 기회를 포착하면서 적응적인 스톱 로스 및 영업 메커니즘으로 위험을 제어합니다. 최적화 할 여지가 있지만 전반적인 디자인은 기본적인 양적 거래 원칙을 준수합니다. 제안된 최적화 방향을 통해 전략의 안정성과 수익성 잠재력을 더욱 향상시킬 수 있습니다.


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

//@version=5
strategy('My Custom Strategy', overlay = true)

// Parámetros de las SMAs (Medias Móviles Simples)
sma14 = ta.sma(close, 14)
sma28 = ta.sma(close, 28)

// Stop Loss y Take Profit configurables
stop_loss_percent = input.float(2, title="Stop Loss %", minval=0.1, step=0.1)
take_profit_percent = input.float(4, title="Take Profit %", minval=0.1, step=0.1)

// Cálculo de stop loss y take profit
stop_loss = close * (1 - stop_loss_percent / 100)
take_profit = close * (1 + take_profit_percent / 100)

// Condiciones de entrada para compra (long)
longCondition = ta.crossover(sma14, sma28)
if (longCondition)
    strategy.entry('Long', strategy.long, stop=stop_loss, limit=take_profit)
plotshape(series=longCondition, color=color.new(color.blue, 0), style=shape.labelup, location=location.belowbar, text="BUY")

// Condiciones de entrada para venta (short)
shortCondition = ta.crossunder(sma14, sma28)
if (shortCondition)
    strategy.entry('Short', strategy.short, stop=stop_loss, limit=take_profit)
plotshape(series=shortCondition, color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, text="SELL")

// Visualización de las SMAs en el gráfico
plot(sma14, color=color.blue, title="SMA 14")
plot(sma28, color=color.red, title="SMA 28")


관련

더 많은