이 전략은
이 전략에서는 50주기 및 200주기 단순 이동 평균 (SMA) 라인을 계산합니다. 전통적으로, 50일 SMA가 200일 SMA 아래를 넘을 때, 그것은 하락 전망을 나타내는
거래의 논리는 단순히 이러한 신호에 기반한 포지션을 취하는 것입니다. 죽음의 십자가에서 짧고 황금 십자가에서 길게 이동합니다. 이것은 시장 트렌드가 역전될 때 전환점 근처에서 이익을 얻을 수 있습니다.
또한, 전략은 백테스트를 위해 사용자 정의 가능한 날짜 범위를 제공합니다. 그래서 우리는 다른 기간 동안이 크로스오버 신호의 실제 효과를 조사 할 수 있습니다.
위험을 해결하기 위해, 우리는 매개 변수를 최적화, 필터를 추가, 위험을 관리, 종이를 거래 전략 등 위험을 최소화 할 수 있습니다.
이 전략을 최적화하는 주요 방법은 다음과 같습니다.
매개 변수 영향을 조사함으로써 우리는 더 나은 이동 평균 크로스오버 시스템을 발견할 수 있습니다.
이 전략은 시장의 주요 전환점을 포착하기 위해 이동 평균 크로스의 고전적인 기술 지표를 활용합니다. 간단한 논리와 편리한 백테스트 기능으로 더 넓은 시스템의 일부로 트렌드를 추적하는 데 도움이 될 수 있습니다. 그러나 실제 세계 거래는 여전히 시그널에 맹목적으로 의존하는 것이 아니라 다양한 외부 요인을 고려해야합니다.
/*backtest start: 2024-01-14 00:00:00 end: 2024-01-21 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("[S_R__9] - Death and Golden Cross", overlay=true) // Specific Time Date Range For Backtest startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31, group='DATE CONFIG') startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12, group='DATE CONFIG') startYear = input.int(title='Start Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG') endDate = input.int(title='End Date', defval=31, minval=1, maxval=31, group='DATE CONFIG') endMonth = input.int(title='End Month', defval=12, minval=1, maxval=12, group='DATE CONFIG') endYear = input.int(title='End Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG') SPECIFIC_DATE = input.bool(title='USE SPECIFIC DATE ?', defval=false, group='DATE CONFIG') inDateRange = SPECIFIC_DATE ? time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0) : true // Calculate 50 SMA and 200 SMA sma50 = ta.sma(close, 50) sma200 = ta.sma(close, 200) // Detect a Death Cross (50 SMA crossing below 200 SMA) deathCross = ta.crossunder(sma50, sma200) // Detect a Golden Cross (50 SMA crossing above 200 SMA) goldenCross = ta.crossover(sma50, sma200) // Strategy Execution if (inDateRange) if (deathCross) strategy.entry("Death Cross long", strategy.short) if (goldenCross) strategy.entry("Golden Cross short", strategy.long) // Plot SMAs plot(sma50, color=color.red, title="50 SMA") plot(sma200, color=color.blue, title="200 SMA") // Plotting Death Cross signal plotshape(series=deathCross and inDateRange, title="Death Cross Signal", location=location.belowbar, color=color.red, style=shape.labeldown, text="DEATH CROSS") // Plotting Golden Cross signal plotshape(series=goldenCross and inDateRange, title="Golden Cross Signal", location=location.abovebar, color=color.green, style=shape.labelup, text="GOLDEN CROSS")