该策略结合了埃利奥特波动理论和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")