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

저자:차오장, 날짜: 2023-12-27 15:56:12
태그:

img

전반적인 설명

이 전략은 간단한 이동 평균 크로스오버 전략이다. 빠른 EMA가 느린 EMA를 넘을 때 길게 가고 빠른 EMA가 느린 EMA를 넘을 때 짧게됩니다. 전략은 위험을 효과적으로 제어하기 위해 스톱 로스, 영업 영업 및 손익분기점을 통합합니다.

전략 논리

이 전략은 빠르고 느린 이동 평균을 기반으로 한다. 빠른 라인은 9일 EMA이며 느린 라인은 21일 EMA이다. 빠른 라인이 아래로부터 느린 라인을 넘을 때 길게 간다. 빠른 라인이 위에서 느린 라인을 넘을 때 짧게 간다. 출구는 역차로에 의해 유발된다.

스톱 로스는 클로즈의 비율을 기준으로 설정됩니다. 이윤은 클로즈의 비율을 기준으로 설정됩니다. 브레이크 이븐 스톱 로스는 가격이 브레이크 이븐 수준에 도달하면 엔트리 가격으로 이동합니다.

이점 분석

이 전략의 장점은 다음과 같습니다.

  1. 단순하고 명확한 논리, 이해하기 쉽고 실행하기 쉬운
  2. 트렌드를 따라 움직이는 평균의 능력을 활용하고, 트렌드를 효과적으로 잡습니다.
  3. 리스크를 제어하기 위해 스톱 로스, 영업 및 브레이크 이븐을 포함합니다.
  4. 다양한 시장에 최적화 가능한 유연한 매개 변수 조정

위험 분석

몇 가지 위험 요소가 있습니다.

  1. 이동평균의 발산 후속, 잠재적으로 반전 신호가 사라진 경우
  2. 부적절한 스톱 로스 설정 또는 수익 취득은 불필요한 손실 또는 수익 손실을 초래할 수 있습니다.
  3. 부적절한 매개 변수 설정으로 인해 거래가 과잉 또는 빠질 수 있습니다.

해결책:

  1. 매개 변수를 최적화하고 이동 평균을 올바르게 설정
  2. 스톱 로스/프로프트 인수율을 조정하고 합리적인 설정을 보장합니다.
  3. 과도한 거래를 피하기 위해 다른 시장에 대한 매개 변수를 조정합니다.

최적화 방향

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

  1. 이동 평균의 다른 길이 조합을 테스트
  2. 다른 시장 변동에 대한 스톱 로스, 영업 및 브레이크 이븐 비율의 조정
  3. 입력 신호 필터링을 위한 다른 기술적 지표 추가
  4. 통계 기술이나 기계 학습을 통해 매개 변수를 동적으로 최적화

요약

전체적으로,이 이동 평균 크로스오버 금 전략은 명확한 논리를 가지고 있으며 구현하기가 쉽습니다. 중지 손실, 수익을 취하고 손익분기, 위험을 제어합니다. 다른 시장에 대한 적절한 매개 변수 조정 및 최적화로 좋은 성능을 얻을 수 있습니다. 그러나 윙사 및 매개 변수 최적화의 어려움의 위험을 주목해야합니다.


/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("XAUUSD Strategy with SL, TP, and BE", shorttitle="EA", overlay=true)

// Define strategy parameters
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
stopLossPercent = input(1, title="Stop Loss (%)", minval=0, maxval=5) / 100
takeProfitPercent = input(2, title="Take Profit (%)", minval=0, maxval=5) / 100
breakEvenPercent = input(1, title="Break Even (%)", minval=0, maxval=5) / 100

// Calculate EMAs
fastEMA = ema(close, fastLength)
slowEMA = ema(close, slowLength)

// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")

// Strategy logic
enterLong = crossover(fastEMA, slowEMA)
exitLong = crossunder(fastEMA, slowEMA)

enterShort = crossunder(fastEMA, slowEMA)
exitShort = crossover(fastEMA, slowEMA)

// Calculate stop loss, take profit, and break-even levels
longStopLoss = close * (1 - stopLossPercent)
longTakeProfit = close * (1 + takeProfitPercent)
shortStopLoss = close * (1 + stopLossPercent)
shortTakeProfit = close * (1 - takeProfitPercent)

longBreakEven = close * (1 + breakEvenPercent)
shortBreakEven = close * (1 - breakEvenPercent)

// Execute strategy with stop loss, take profit, and break-even
strategy.entry("Long", strategy.long, when = enterLong)
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", profit = longTakeProfit, loss = longStopLoss)

strategy.entry("Short", strategy.short, when = enterShort)
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", profit = shortTakeProfit, loss = shortStopLoss)

// Move stop loss to break even when price reaches break-even level
strategy.exit("Break Even Long", from_entry="Long", loss = longBreakEven)
strategy.exit("Break Even Short", from_entry="Short", loss = shortBreakEven)


더 많은