
이 전략은 엘리엇 파동 이론과 200 일 평균선 지표를 결합하여 트렌드 추적과 수익 회전의 자동 거래를 구현한다. 그것의 기본 논리는 엘리엇 5 파동으로 구성된 변동 패턴이 나타나면 트렌드 방향을 판단하고 200 일 평균선을 보조 조건으로 거래 신호를 발송한다.
엘리엇 파동 이론은 시장의 가격 변동을 5파로 구성된 파동으로 나누고, 홀파는 동력파이고, 짝파는 회귀파이다. Wave1, Wave3, Wave5의 고위가 순차적으로 상승하고, Wave2, Wave4가 순차적으로 효과적으로 회귀할 때, 상승파 조합으로 판단되어, 다단계 시장에 속한다. 이 전략은 이 때 더한다. 반대로, Wave1, Wave3, Wave5의 저점이 순차적으로 하향하고, Wave2, Wave4가 순차적으로 효과적으로 회귀할 때, 공허파 조합으로 판단되어, 공허 시장에 속한다. 이 전략은 공허하다.
이 전략은 동시에 200일 평균선 지표를 도입하여 보조 판단 조건으로 한다. 단지 다단계 또는 공상파 조합을 판단하는 동시에, 그날의 종결 가격이 상위 200일 평균선을 초과할 때 더 많이 할 수 있고, 그날의 종결 가격이 하위 200일 평균선을 넘어갈 때 공백할 수 있다.
더 많은 공백 신호를 발신한 후, 반대 방향의 다섯 파동으로 퇴각한다.
이 전략은 변동 이론과 트렌드 추적 지표의 장점을 통합하고 시장의 중요한 시점을 포착하고 거래 위험을 제어하는 데 탁월합니다. 그러나 가격 정보를 고려하기 때문에 복잡한 상황에서의 효과는 여전히 최적화되어야합니다.
/*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")