이 전략은 XAUUSD 금 1분 시간 프레임에서 30일 및 200일 이동 평균 크로스오버를 기반으로 합니다. 단기 이동 평균이 하위에서 상향으로 장기 이동 평균을 넘을 때 구매 신호가 생성됩니다. 단기 이동 평균이 상위에서 아래로 장기 이동 평균을 넘을 때 판매 신호가 생성됩니다.
이 전략은 또한 개별 거래의 위험과 보상을 제어하기 위해 40,000 포인트 스톱 로스를 설정하고 수익을 취합니다. 역 신호가 나타나면 기존 포지션을 닫고 반대 방향으로 포지션을 열 것입니다. 이것은 손실을 효과적으로 제어하고 트렌드 역전에서 이익을 얻는 데 도움이됩니다.
이 전략은 트렌드 방향을 결정하기 위해 30 일 및 200 일 이동 평균의 교차를 사용합니다. 단기 이동 평균이 장기 이동 평균보다 높을 때, 황소 시장을 나타냅니다. 단기 이동 평균이 장기 이동 평균보다 낮을 때, 곰 시장을 나타냅니다.
동시에, 40,000 포인트의 스톱 로스를 설정하고, 개별 거래의 위험을 제어하기 위해 이윤을 취하십시오. 또한, 역 신호가 나타나면, 잠재적 인 트렌드 역전 기회를 포착하기 위해 원래 포지션을 적극적으로 닫고 반대 방향으로 새로운 포지션을 열십시오.
이 전략의 장점은 다음과 같습니다.
이 전략에는 몇 가지 위험도 있습니다.
이동 평균 사이클 매개 변수를 최적화하고, 스톱 손실 범위를 설정하고, 반전 신호의 신뢰성을 판단하는 방법과 같은 방법은 위험을 제어하고 줄이기 위해 사용될 수 있습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
이 이동 평균 크로스오버 전략의 전반적인 효과는 좋습니다. 트렌드 방향을 결정하기 위해 이동 평균을 사용하는 것은 매우 정확합니다. 위험 통제를 위해 손해를 멈추고 이익을 취하면 효과는 특히 금과 같은 트렌딩 제품에 중요합니다. 다양한 방법으로 최적화되고 개선 될 수 있으며 광범위한 응용 시나리오가 있습니다.
/*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("Moving Averages Crossover Strategy", overlay=true) // Moving Averages ma30 = ta.sma(close, 30) ma60 = ta.sma(close, 60) ma200 = ta.sma(close, 200) // Moving Averages Crossover crossoverUp = ta.crossover(ma30, ma200) crossoverDown = ta.crossunder(ma30, ma200) // Buy and Sell Signals longCondition = crossoverUp shortCondition = crossoverDown // Order Execution 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) // Plotting Moving Averages plot(ma30, color=color.blue, title="MA 30") plot(ma60, color=color.orange, title="MA 60") plot(ma200, color=color.green, title="MA 200") // Conditions to close opposite position if (strategy.position_size > 0) if (crossoverDown) strategy.close("Buy") if (strategy.position_size < 0) if (crossoverUp) strategy.close("Sell")