Skip to main content

RalliV1_disable56 Strategy In-Depth Analysis

Strategy ID: #344 (344th of 465 strategies)
Strategy Type: Multi-Condition Trend Following + Elliott Wave Oscillator Fusion Strategy
Timeframe: 5 minutes (5m) + 1 hour info layer (1h)


I. Strategy Overview

RalliV1_disable56 is a trend following strategy based on the Elliott Wave Oscillator (EWO) and multiple moving average crossovers. Developed by @Rallipanos, it identifies entry opportunities during market pullbacks by detecting price deviations from moving averages, combined with RSI momentum indicators and the EWO oscillator. The "disable56" in the strategy name indicates that buy conditions #5 and #6 from the original strategy have been disabled in this version.

Core Features

FeatureDescription
Buy Conditions4 independent buy signals, categorized into bearish (MA<EMA100) and bullish (MA>EMA100) scenarios
Sell Conditions2 base sell signals, combining trend reversal and price breakout detection
Protection MechanismsTriple protection: custom stop loss + trailing stop + time-based stop
Timeframe5m primary timeframe + 1h informational timeframe
Dependenciestalib, numpy, pandas, qtpylib, technical

II. Strategy Configuration Analysis

2.1 Basic Risk Parameters

# ROI exit table
minimal_roi = {
"0": 0.04, # Immediately: 4% profit
"40": 0.032, # After 40 minutes: 3.2% profit
"87": 0.018, # After 87 minutes: 1.8% profit
"201": 0 # After 201 minutes: any profit triggers exit
}

# Stop loss settings
stoploss = -0.3 # 30% fixed stop loss

# Trailing stop
trailing_stop = True
trailing_stop_positive = 0.005 # 0.5% positive trailing
trailing_stop_positive_offset = 0.03 # 3% activation threshold
trailing_only_offset_is_reached = True

Design Rationale:

  • ROI uses a tiered decreasing structure, encouraging longer positions while locking in minimum profits
  • The 30% fixed stop loss is relatively wide, relying on trailing stop to protect profits
  • Trailing stop activates at 3% profit with 0.5% positive trailing, balancing profit protection with volatility tolerance

2.2 Order Type Configuration

order_time_in_force = {
'buy': 'gtc', # Good Till Cancelled
'sell': 'gtc'
}

2.3 Optimizable Parameters

Parameter TypeParameter NameRangeDefault
Buy Parametersbase_nb_candles_buy5-8014
low_offset0.9-0.990.975
low_offset_20.9-0.990.955
ewo_high2.0-12.02.327
ewo_high_2-6.0-12.0-2.327
ewo_low-20.0--8.0-20.988
rsi_buy30-7060
rsi_buy_230-7045
Sell Parametersbase_nb_candles_sell5-8024
high_offset0.95-1.10.991
high_offset_20.99-1.50.997

III. Buy Conditions Detailed Analysis

3.1 Core Technical Indicators

The strategy uses the following indicators to build buy logic:

IndicatorParametersPurpose
MA_buyEMA(variable period, default 14)Dynamic buy baseline
MA_sellEMA(variable period, default 24)Dynamic sell baseline
EMA_100100-period EMATrend direction determination
SMA_99-period SMAShort-term trend confirmation
HMA_5050-period Hull MASmoothed trend line
EWO5/200 EMA differenceElliott Wave Oscillator
RSI14-periodMomentum indicator
RSI_fast4-periodFast momentum
RSI_slow20-periodSlow momentum

3.2 Four Buy Conditions Explained

Condition #1: Bearish EWO High Positive Value Buy

# Logic
- MA_buy < EMA_100 (in downtrend)
- SMA_9 < MA_buy (short-term confirms downtrend)
- RSI_fast between 4-35 (oversold but not extreme)
- Close < MA_buy * 0.975 (price deviation)
- EWO > 2.327 (momentum strengthening)
- RSI < 45 (not overbought)
- Volume > 0
- Close < MA_sell * 0.991 (selling pressure remains)

Condition #2: Bearish EWO Negative-to-Positive Buy (Deep Dip Reversal)

# Logic
- MA_buy < EMA_100 (bear market)
- SMA_9 < MA_buy (confirms downtrend)
- RSI_fast between 4-35
- Close < MA_buy * 0.955 (greater deviation)
- EWO > -2.327 (momentum improving)
- RSI < 25 (deep oversold)
- RSI < 45 (confirms oversold)

Condition #3: Bearish EWO Extreme Negative Value Buy

# Logic
- MA_buy < EMA_100 (bear market)
- SMA_9 < MA_buy (confirms downtrend)
- RSI_fast between 4-35
- Close < MA_buy * 0.975
- EWO < -20.988 (extreme oversold)
- Volume > 0

Condition #4: Bullish Pullback Buy

# Logic
- MA_buy > EMA_100 (bull market)
- RSI_fast between 4-35 (short-term oversold)
- Close < MA_buy * 0.975 (pullback entry)
- EWO > 2.327 (momentum maintained)
- RSI < 60 (not overbought)
- Volume > 0

3.3 Buy Condition Classification

Condition GroupCondition #Core Logic
Bearish Reversal#1, #2, #3Below EMA100, catching oversold bounces
Bullish Pullback#4Above EMA100, catching trend pullbacks

IV. Sell Logic Detailed Analysis

4.1 Multi-Layer Take Profit System

The strategy employs a tiered take profit mechanism:

Profit Range      Threshold    Signal Name
──────────────────────────────────────────
0-40 minutes 4% ROI_1
40-87 minutes 3.2% ROI_2
87-201 minutes 1.8% ROI_3
After 201 min 0% ROI_4 (any profit)

4.2 Custom Stop Loss Logic

def custom_stoploss(...):
# If held for more than 140 minutes with profit < 0.1%, force stop loss
if current_profit < 0.001 and current_time - timedelta(minutes=140) > trade.open_date_utc:
return -0.005 # -0.5% stop loss
return 1 # Otherwise maintain original stop loss logic

4.3 Two Sell Signals

Sell Signal #1: Bullish Trend Reversal

# Conditions
- HMA_50 > EMA_100 (long-term trend upward)
- Close > SMA_9 (breakout above short-term MA)
- Close > MA_sell * 0.997 (breakout above sell baseline)
- RSI_fast > RSI_slow (momentum accelerating)
- Volume > 0

Sell Signal #2: Bearish Price Breakout

# Conditions
- Close < EMA_100 (still in bear market)
- Close > MA_sell * 0.991 (breakout above short-term baseline)
- RSI_fast > RSI_slow (momentum improving)
- Volume > 0

4.4 Sell Confirmation Filter

def confirm_trade_exit(...):
# If sell_signal and RSI < 45 and HMA_50 > EMA_100, reject sell
if sell_reason == 'sell_signal':
if last_candle['rsi'] < 45 and last_candle['hma_50'] > last_candle['ema_100']:
return False
return True

V. Technical Indicator System

5.1 Core Indicators

Indicator CategorySpecific IndicatorsPurpose
Moving AveragesEMA(variable), EMA_100, EMA_14, EMA_9, SMA_9, HMA_50Trend determination and price deviation calculation
OscillatorsEWO (5/200 EMA difference)Elliott Wave momentum analysis
MomentumRSI(14), RSI_fast(4), RSI_slow(20)Overbought/oversold determination

5.2 Elliott Wave Oscillator (EWO)

def EWO(dataframe, ema_length=5, ema2_length=200):
ema1 = ta.EMA(df, timeperiod=ema_length) # Fast line
ema2 = ta.EMA(df, timeperiod=ema2_length) # Slow line
emadif = (ema1 - ema2) / df['low'] * 100 # Normalized difference
return emadif

EWO is the core indicator of this strategy for determining market momentum:

  • Positive value > 2.327: Strong momentum, suitable for buying
  • Negative value < -20.988: Extreme oversold, bounce opportunity

VI. Risk Management Features

6.1 Triple Stop Loss Protection

Protection TypeParameterDescription
Fixed Stop Loss-30%Last line of defense, prevents single trade catastrophic loss
Trailing Stop0.5% @ 3% profitLocks in floating profits
Time Stop140 minutes @ 0.1% profitAvoids long-term capital occupation

6.2 Sell Signal Filter

The strategy implements intelligent filtering in confirm_trade_exit:

  • When RSI < 45 and HMA_50 > EMA_100, reject sell signal
  • Prevents premature exit during upward trend

6.3 Scenario-Based Buy/Sell Logic

  • Bear Market (MA < EMA100): Three buy conditions, more aggressive reversal catching
  • Bull Market (MA > EMA100): One buy condition, cautious pullback entry

VII. Strategy Advantages and Limitations

✅ Advantages

  1. Multi-Scenario Adaptation: Both bear market reversal and bull market pullback scenarios have corresponding buy conditions
  2. Unique EWO Indicator: Uses Elliott Wave Oscillator to identify momentum changes, relatively rare
  3. Dynamic Parameter Optimization: Many parameters support Hyperopt optimization, can be tuned for different coins
  4. Triple Stop Protection: Fixed + trailing + time stop, comprehensive risk management

⚠️ Limitations

  1. Parameter Sensitivity: Multiple parameters depend on optimization, risk of overfitting
  2. Fixed EWO Extremes: ewo_low = -20.988 may not suit all markets
  3. Few Sell Conditions: Only 2 sell signals, may miss some exit opportunities
  4. Fixed Timeframe: Only supports 5m, not adaptable to other timeframes

VIII. Suitable Scenario Recommendations

Market EnvironmentRecommended ConfigurationDescription
Oscillating MarketEnable all conditionsMany oversold reversal opportunities
Slow BullFocus on condition #4Pullback entries work well
Rapid DeclineEnable condition #3Extreme oversold catching
Sideways ConsolidationReduce trade frequencyAvoid RSI false signals

IX. Suitable Market Environment Analysis

RalliV1_disable56 is a variant of the Rallipanos strategy series. Based on its code architecture and long-term community live trading experience, it is best suited for oscillating-to-bearish markets, while performing moderately during one-way rallies.

9.1 Strategy Core Logic

  • EWO Driven: Identifies momentum reversal points via Elliott Wave Oscillator
  • Trend Filter: Uses EMA100 to distinguish bull/bear markets, applies different strategies
  • Price Deviation: Captures oversold opportunities using MA deviation
  • Multiple Confirmation: RSI + EWO + MA triple confirmation, reduces false signals

9.2 Performance in Different Market Environments

Market TypePerformance RatingAnalysis
📈 Slow Bull Trend⭐⭐⭐⭐☆Pullback entries work well, trailing stop locks profits
🔄 Oscillating Market⭐⭐⭐⭐⭐Frequent overbought/oversold alternations, strategy perfectly adapted
📉 Downtrend⭐⭐⭐☆☆Many bearish conditions, but reversal timing difficult to grasp
⚡ Rapid Rally⭐⭐☆☆☆Strategy is conservative, may miss strong momentum moves

9.3 Key Configuration Recommendations

Configuration ItemRecommended ValueDescription
ewo_high2.0-3.0Too high misses opportunities, too low creates false signals
ewo_low-15.0--25.0Adjust based on coin volatility
trailing_stop_positive0.005-0.01Can increase for volatile coins
Timeframe5mRecommend 5 minutes, other periods need re-optimization

X. Important Note: The Cost of Complexity

10.1 Learning Cost

This strategy uses Elliott Wave Oscillator and multiple MA combinations, requiring understanding of:

  • EWO indicator meaning and extreme value interpretation
  • Trend significance of different MA periods
  • Crossover signals between RSI_fast and RSI_slow

10.2 Hardware Requirements

Trading PairsMinimum MemoryRecommended Memory
1-10 pairs2GB4GB
10-50 pairs4GB8GB
50+ pairs8GB16GB

10.3 Backtest vs Live Trading Differences

  • Strategy uses process_only_new_candles = True, backtest behavior matches live trading
  • Custom stop loss function is correctly executed in backtests
  • Note startup_candle_count = 200, requires sufficient historical data

10.4 Manual Trader Recommendations

If manually using this strategy's signals:

  1. Focus on EWO signals rising from extreme negative values
  2. Combine EMA100 to determine current bull or bear market
  3. Start watching for entry opportunities when RSI_fast < 35
  4. Don't chase highs, wait for pullbacks after MA deviation

XI. Summary

RalliV1_disable56 is a multi-scenario trend following strategy based on the Elliott Wave Oscillator. Its core value lies in:

  1. Dual Scenario Adaptation: Bull and bear markets each have buy logic,不怕 market transitions
  2. Momentum Reversal Capture: EWO indicator identifies oversold bounces, unique and effective
  3. Triple Stop Protection: Fixed + trailing + time stop, comprehensive risk control

For quantitative traders, this is a robust strategy suitable for oscillating markets, but attention should be paid to parameter optimization to avoid overfitting. Recommend thorough testing in simulated environments first.