금본위제에 기반한 양적 거래 전략


생성 날짜: 2024-02-26 12:10:26 마지막으로 수정됨: 2024-02-26 12:10:26
복사: 0 클릭수: 693
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

금본위제에 기반한 양적 거래 전략

개요

이 전략은 30일과 200일 이동 평균의 교차를 기반으로 한 거래 전략이다. 이 전략은 XAUUSD 금의 1분 차트에 달려서 단기 가격 추세를 잡기 위해 사용된다. 이 전략은 동시에 스톱로스 및 스톱 스톱 설정을 사용하여 위험을 관리한다.

전략 원칙

이 전략은 30일과 200일 이동 평균의 교차를 거래 신호로 사용합니다. 30일 이동 평균 위에 200일 이동 평균을 통과 할 때, 더 많이; 30일 이동 평균 아래에 200일 이동 평균을 통과 할 때, 비로소. 또한, 역전 신호가 발생했을 때, 현재 위치를 청산하고 새로운 신호의 방향에 따라 위치를 열습니다.

이 전략은 트렌드 추적과 평행선 교차의 장점을 결합한다. 30일 평행선은 가격 변화에 더 빨리 반응하고, 200일 평행선은 더 강한 트렌드 필터링을 가지고 있다. 이들의 교차는 시장 진출에 대한 명확한 신호를 제공한다. 동시에, 이윤을 잠금하기 위해 포지션을 개회하는 역전화를 사용하며, 가격 정리 시 큰 손실을 피한다.

우위 분석

  • 쌍평선 교차를 사용하여 신호의 신뢰성을 높인다.
  • 상환 상장 메커니즘은 상환으로 인한 손실을 피하는 데 도움이 됩니다.
  • 동시에 중지 및 중지 설정은 위험 제어에 도움이
  • 다양한 시간대에서 사용할 수 있습니다.
  • 매개 변수를 최적화하여 효율을 높일 수 있습니다.

위험 분석

이 전략의 주요 위험은 다음과 같습니다.

  • 쌍평준선은 가짜 신호를 생성할 가능성이 높으며, 거래 빈도를 높여 거래 비용과 미끄러짐 위험을 증가시킬 수 있다.
  • 거래 품종의 기본 요소를 고려하지 않고 가격 변동의 내재된 논리를 무시합니다.
  • 자금 관리 규칙을 설정하지 않고 거래 단위의 위험 노출을 제어할 수 없습니다.

위험은 다음과 같은 방법으로 줄일 수 있습니다.

  • 필터링 조건을 추가하여 신호의 빈번한 반전을 방지합니다.
  • 거래 품종과 결합된 기본 분석
  • 자금 관리 모듈을 도입하여 단일 거래 규모를 제한합니다

최적화 방향

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

  • 다양한 변수들의 평행선 조합을 테스트하여 최적의 변수를 찾습니다.
  • 거래량, 변동률 등과 같은 다른 지표들을 필터링할 수 있습니다.
  • 시장의 변동에 따라 상쇄 손실을 조정할 수 있는 적응형 상쇄 손실 제도를 도입합니다.
  • 자금 관리 규칙을 적용하고, 단일 거래 규모를 제한합니다.
  • 역측정 최적화, 최적의 변수 조합을 찾아내는

요약하다

이 전략은 전체적으로 원활하게 작동하며, 핵심 거래 논리는 명확하고 간결하다. 이 전략은 쌍평선 교차를 사용하여 거래 신호를 생성하고, 포지션을 역전하는 방법을 사용하여 수익을 잠금한다. 이 거래 방법은 가격 평정 기간 동안의 큰 손실을 피할 수 있다.

전략 소스 코드
/*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")