골드 스탠더드 양적 거래 전략

저자:차오장, 날짜: 2024-02-26 12:10:26
태그:

img

전반적인 설명

이 전략은 30일 및 200일 이동평균의 교차를 기반으로 하는 거래 전략이다. 단기 가격 추세를 파악하기 위해 XAUUSD 금 1분 차트에 실행된다. 이 전략은 또한 위험을 관리하기 위해 스톱 로스 및 수익 설정을 사용합니다.

전략 원칙

이 전략은 30일 이동 평균과 200일 이동 평균의 크로스오버를 거래 신호로 사용합니다. 30일 이동 평균이 200일 이동 평균을 넘어서면 긴 거리로 이동하고, 30일 이동 평균이 200일 이동 평균을 넘어서면 짧은 거리로 이동합니다. 또한 역 신호가 나타날 때 현재 포지션은 닫히고 새로운 신호의 방향에 따라 새로운 포지션은 열립니다.

이 전략은 트렌드 추적과 이동 평균 크로스오버의 장점을 결합한다. 30일 MA는 가격 변화에 더 빠르게 대응할 수 있으며, 200일 MA는 더 강력한 트렌드 필터링을 가지고 있다. 그들의 크로스오버는 시장 진출과 출시를 위한 명확한 신호를 제공한다. 동시에, 이윤을 잠금하고 가격 통합 중에 큰 손실을 피하기 위해 역 개척을 사용합니다.

이점 분석

  • 이중 이동 평균 크로스오버를 사용하여 신호 신뢰성을 향상시킵니다.
  • 리버스 오픈 메커니즘은 통합으로 인한 손실을 피하는 데 도움이 됩니다.
  • 스톱 로스 및 리프트 취득을 설정하는 것은 위험 통제에 유리합니다.
  • 여러 시간 프레임에서 사용할 수 있습니다.
  • 매개 변수 최적화를 통해 효율성을 향상시키는 것이 쉽습니다.

위험 분석

이 전략에 직면한 주요 위험은 다음과 같습니다.

  • 이중 MA에서 잘못된 신호가 발생할 확률이 높으면 거래가 자주 발생하고 거래 비용이 증가하고 미끄러짐 위험이 발생할 수 있습니다.
  • 거래 도구의 기본 원리를 무시하고 가격 변동의 본질적인 논리를 무시합니다.
  • 적재자본 관리 규칙이 없거나 거래위험에 대한 통제가 없습니다

위험은 다음과 같이 감소 할 수 있습니다.

  • 자주 신호 반전을 피하기 위해 필터를 추가합니다.
  • 거래 도구의 기본 분석을 결합하는 방법
  • 거래 포지션 크기를 제한하기 위한 자본 관리 모듈 도입

최적화 방향

이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  • 최적의 매개 변수를 찾기 위해 MA의 다른 매개 변수 조합을 테스트합니다.
  • 부피, 변동성 지표 등 필터링을 위한 다른 지표를 추가합니다.
  • 시장의 변동성에 기초하여 정지를 조정하기 위한 적응형 스톱 로스 메커니즘을 도입
  • 거래 포지션 크기를 제한하기 위한 자본 관리 규칙을 적용
  • 최적의 매개 변수 조합을 찾기 위해 백테스팅 최적화를 수행

결론

이 전략의 전반적인 운영은 원활하고 핵심 거래 논리는 명확하고 간단합니다. 이중 MA 크로스오버를 사용하여 거래 신호를 생성하고 수익을 잠금하기 위해 역 개척을 사용합니다. 이 거래 방법은 가격 통합 중에 상당한 손실을 피할 수 있습니다. 스톱 로스 및 수익을 취하는 것도 위험 통제를 용이하게합니다. 그러나 전략에는 일부 결함이 있습니다. 주로 가격 변동 기초를 간과하면서 빈번한 신호로 나타납니다. 필터레이션 조건, 자본 관리 모듈 및 매개 변수 최적화를 도입함으로써 위험을 줄이고 전략의 안정성과 수익성을 향상시킬 수 있습니다.


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

//@version=5
strategy("Estrategia de Cruce de Medias Móviles", overlay=true)

// Medias móviles
ma30 = ta.sma(close, 30)
ma60 = ta.sma(close, 60)
ma200 = ta.sma(close, 200)

// Cruce de medias móviles
crossoverUp = ta.crossover(ma30, ma200)
crossoverDown = ta.crossunder(ma30, ma200)

// Señales de compra y venta
longCondition = crossoverUp
shortCondition = crossoverDown

// Ejecución de órdenes
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Cover", "Buy", stop=close - 40.000, limit=close + 40.000)
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=close + 40.000, limit=close - 40.000)

// Plot de las medias móviles
plot(ma30, color=color.blue, title="MA 30")
plot(ma60, color=color.orange, title="MA 60")
plot(ma200, color=color.green, title="MA 200")

// Condiciones para cerrar la posición contraria
if (strategy.position_size > 0)
    if (crossoverDown)
        strategy.close("Buy")
if (strategy.position_size < 0)
    if (crossoverUp)
        strategy.close("Sell")

더 많은