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
| Feature | Description |
|---|---|
| Buy Conditions | 4 independent buy signals, categorized into bearish (MA<EMA100) and bullish (MA>EMA100) scenarios |
| Sell Conditions | 2 base sell signals, combining trend reversal and price breakout detection |
| Protection Mechanisms | Triple protection: custom stop loss + trailing stop + time-based stop |
| Timeframe | 5m primary timeframe + 1h informational timeframe |
| Dependencies | talib, 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 Type | Parameter Name | Range | Default |
|---|---|---|---|
| Buy Parameters | base_nb_candles_buy | 5-80 | 14 |
| low_offset | 0.9-0.99 | 0.975 | |
| low_offset_2 | 0.9-0.99 | 0.955 | |
| ewo_high | 2.0-12.0 | 2.327 | |
| ewo_high_2 | -6.0-12.0 | -2.327 | |
| ewo_low | -20.0--8.0 | -20.988 | |
| rsi_buy | 30-70 | 60 | |
| rsi_buy_2 | 30-70 | 45 | |
| Sell Parameters | base_nb_candles_sell | 5-80 | 24 |
| high_offset | 0.95-1.1 | 0.991 | |
| high_offset_2 | 0.99-1.5 | 0.997 |
III. Buy Conditions Detailed Analysis
3.1 Core Technical Indicators
The strategy uses the following indicators to build buy logic:
| Indicator | Parameters | Purpose |
|---|---|---|
| MA_buy | EMA(variable period, default 14) | Dynamic buy baseline |
| MA_sell | EMA(variable period, default 24) | Dynamic sell baseline |
| EMA_100 | 100-period EMA | Trend direction determination |
| SMA_9 | 9-period SMA | Short-term trend confirmation |
| HMA_50 | 50-period Hull MA | Smoothed trend line |
| EWO | 5/200 EMA difference | Elliott Wave Oscillator |
| RSI | 14-period | Momentum indicator |
| RSI_fast | 4-period | Fast momentum |
| RSI_slow | 20-period | Slow 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 Group | Condition # | Core Logic |
|---|---|---|
| Bearish Reversal | #1, #2, #3 | Below EMA100, catching oversold bounces |
| Bullish Pullback | #4 | Above 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 Category | Specific Indicators | Purpose |
|---|---|---|
| Moving Averages | EMA(variable), EMA_100, EMA_14, EMA_9, SMA_9, HMA_50 | Trend determination and price deviation calculation |
| Oscillators | EWO (5/200 EMA difference) | Elliott Wave momentum analysis |
| Momentum | RSI(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 Type | Parameter | Description |
|---|---|---|
| Fixed Stop Loss | -30% | Last line of defense, prevents single trade catastrophic loss |
| Trailing Stop | 0.5% @ 3% profit | Locks in floating profits |
| Time Stop | 140 minutes @ 0.1% profit | Avoids 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
- Multi-Scenario Adaptation: Both bear market reversal and bull market pullback scenarios have corresponding buy conditions
- Unique EWO Indicator: Uses Elliott Wave Oscillator to identify momentum changes, relatively rare
- Dynamic Parameter Optimization: Many parameters support Hyperopt optimization, can be tuned for different coins
- Triple Stop Protection: Fixed + trailing + time stop, comprehensive risk management
⚠️ Limitations
- Parameter Sensitivity: Multiple parameters depend on optimization, risk of overfitting
- Fixed EWO Extremes: ewo_low = -20.988 may not suit all markets
- Few Sell Conditions: Only 2 sell signals, may miss some exit opportunities
- Fixed Timeframe: Only supports 5m, not adaptable to other timeframes
VIII. Suitable Scenario Recommendations
| Market Environment | Recommended Configuration | Description |
|---|---|---|
| Oscillating Market | Enable all conditions | Many oversold reversal opportunities |
| Slow Bull | Focus on condition #4 | Pullback entries work well |
| Rapid Decline | Enable condition #3 | Extreme oversold catching |
| Sideways Consolidation | Reduce trade frequency | Avoid 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 Type | Performance Rating | Analysis |
|---|---|---|
| 📈 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 Item | Recommended Value | Description |
|---|---|---|
| ewo_high | 2.0-3.0 | Too high misses opportunities, too low creates false signals |
| ewo_low | -15.0--25.0 | Adjust based on coin volatility |
| trailing_stop_positive | 0.005-0.01 | Can increase for volatile coins |
| Timeframe | 5m | Recommend 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 Pairs | Minimum Memory | Recommended Memory |
|---|---|---|
| 1-10 pairs | 2GB | 4GB |
| 10-50 pairs | 4GB | 8GB |
| 50+ pairs | 8GB | 16GB |
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:
- Focus on EWO signals rising from extreme negative values
- Combine EMA100 to determine current bull or bear market
- Start watching for entry opportunities when RSI_fast < 35
- 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:
- Dual Scenario Adaptation: Bull and bear markets each have buy logic,不怕 market transitions
- Momentum Reversal Capture: EWO indicator identifies oversold bounces, unique and effective
- 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.