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