이 전략은 엘리엇 파동 이론과 200일 이동 평균 지표를 결합하여 자동 트렌드 추적 및 수익 취득 거래를 달성합니다. 이 전략의 기본 논리는 엘리엇 5파 패턴이 나타날 때 트렌드 방향을 결정하고 보조 조건으로 200일 이동 평균을 사용하여 거래 신호를 발행하는 것입니다.
엘리엇 파동 이론은 시장 가격 변동을 5개의 파동 세그먼트로 나눈다. 홀수 파동은 모티브 파동이고 짝수 파동은 교정 파동이다. 파동1, 파동3 및 파동5의 높은 지점이 순차적으로 상승하고 파동2 및 파동4가 순차적으로 효과적으로 후퇴하면 상승 파동 조합으로 판단되며, 이는 황소 시장에 속한다. 이 때 전략은 길게 간다. 반대로, 파동1, 파동3 및 파동5의 낮은 지점이 순차적으로 아래로 밀고, 파동2 및 파동4가 순차적으로 효과적으로 후퇴하면, 이는 하향 파동 조합으로 판단되며, 이는 곰 시장에 속한다. 이 때 전략은 짧게 간다.
이 전략은 또한 200일 이동 평균 지표를 보조 판단 조건으로 도입합니다. 상승 또는 하락 엘리엇 파동 패턴이 확인되고 하루의 종료 가격이 200일 이동 평균 라인을 초과 할 때만 긴 포지션을 취하고 하루의 종료 가격이 200일 이동 평균 라인을 넘으면 짧은 포지션을 취할 수 있습니다.
긴 신호와 짧은 신호가 발사되면 반대 방향으로 5개의 파동이 위치에서 빠져나옵니다.
이 전략은 파동 이론과 트렌드 추후 지표의 장점을 통합하고 시장의 핵심 지점을 포착하고 거래 위험을 제어하는 데 잘 수행합니다. 그러나 가격 정보에만 의존하는 것은 복잡한 시장 조건에서 효율성을 향상시킬 수있는 여지가 있음을 의미합니다. 장기적으로 안정적인 이익을 얻기 위해서는 라이브 거래 중 엄격한 모니터링과 지속적인 조정이 필요합니다.
/*backtest start: 2024-01-26 00:00:00 end: 2024-02-25 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Elliott Wave Strategy with 200 SMA", overlay=true) // Elliott Wave Strategy wave1High = high[1] wave1Low = low[1] wave2High = high[2] wave2Low = low[2] wave3High = high[3] wave3Low = low[3] wave4High = high[4] wave4Low = low[4] wave5High = high[5] wave5Low = low[5] bullishWavePattern = wave3High > wave1High and wave4Low > wave2Low and wave5High > wave3High bearishWavePattern = wave3Low < wave1Low and wave4High < wave2High and wave5Low < wave3Low enterLong = bullishWavePattern and close > sma(close, 200) exitLong = bearishWavePattern enterShort = bearishWavePattern and close < sma(close, 200) exitShort = bullishWavePattern // Plotting 200 SMA sma200 = sma(close, 200) plot(sma200, color=color.blue, title="Moving Average 200") // Displaying "Razer Moving 200" message on chart if (enterLong) label.new(bar_index, low, "Long on Moving 200", color=color.green, textcolor=color.white) if (enterShort) label.new(bar_index, high, "Short on Moving 200", color=color.red, textcolor=color.white) if (enterLong) strategy.entry("Long", strategy.long) if (exitLong) strategy.close("Long") if (enterShort) strategy.entry("Short", strategy.short) if (exitShort) strategy.close("Short")