SMAOffsetProtectOptV1Mod2 Strategy: The Bottom Sniping Expert with a "Pump Detector"
Nickname: Antipump Wizard
Profession: Trend Pullback Sniper + Pump Detection Specialist
Timeframe: 5 minutes
I. What is This Strategy?
Simply put, SMAOffsetProtectOptV1Mod2 is Mod1's upgraded version:
- Wait for price to drop below the moving average before buying (same as Mod1)
- Use EWO indicator to confirm the trend is still intact (same as Mod1)
- Use RSI to ensure you're not buying at the top (same as Mod1)
- NEW: Use pump_strength to detect pumps, avoid chasing highs!
Like "buying discounted goods, making sure they're brand name, AND checking if it's a fake discount" 🛒✨
II. Core Configuration: "Take Profits and Run, Don't Chase Highs"
Take Profit Rules (ROI Table) — One More Tier Than Mod1!
Profit 2.8% immediately → Run!
After 10 candles (50 minutes), only 1.8% profit → Still run!
After 30 candles (2.5 hours), only 1.0% profit → Still run!
After 40 candles (3.3 hours), only 0.5% profit → Still run!
Translation: Four tiers, more refined than Mod1's three tiers. Same principle: "The longer you hold, the lower your standards."
Stop Loss Rules
Fixed stop loss: -10% (accept a 10% loss)
Trailing stop: Start trailing after 1% profit, maintain 0.1% distance
Same as Mod1, won't repeat.
III. 2 Buy Conditions + Antipump Protection
Base Buy Conditions (Same as Mod1)
🎯 Category 1: Trend Pullback Buy
"Price dropped 2.7% below EMA, trend still up (high EWO), and not overbought (low RSI). Let's go!"
📉 Category 2: Bottom Fishing Buy
"Low price + ridiculously negative EWO = oversold. Let's catch the bounce!"
🚀 NEW: Antipump Protection (antipump)
Core Logic:
pump_strength = (ZEMA_30 - ZEMA_200) / ZEMA_30
If pump_strength > 0.25, NO BUYING!
Plain English:
"Short-term price rose too fast (25% higher than long-term moving average), this might be a pump! Don't buy yet, wait for pullback."
Example:
- Normal uptrend: ZEMA_30 is 10% higher than ZEMA_200 → Can buy
- Abnormal pump: ZEMA_30 is 30% higher than ZEMA_200 → NO BUYING!
Note: This protection only works in the SMAOffsetProtectOptV1Mod2_antipump sub-strategy, base version doesn't enable it.
IV. Protection Mechanism: Mod1's Features + NEW Antipump
| Protection Type | Function | Plain English |
|---|---|---|
| EWO high threshold | Confirms trend is up | "The trend is real, not a fake breakout" |
| EWO low threshold | Confirms oversold | "Dropped this much, should bounce" |
| RSI filter | Don't buy overbought | "Don't chase high, wait for pullback" |
| Antipump (NEW) | Avoid chasing highs and getting trapped | "Short-term rose too fast, don't buy yet" |
This design is smarter than Mod1: not only check the trend, but also check if it's a "fake pump"!
V. Sell Logic: One More Tier Than Mod1
5.1 Four-Tier Take Profit
Holding Time Profit Target
────────────────────
Immediate 2.8%
After 50 min 1.8%
After 2.5 hrs 1.0%
After 3.3 hrs 0.5%
Plain English:
- Just bought and it's up: wait for 2.8% before selling
- Held for 50 minutes: 1.8% is fine too
- Held for 2.5 hours: 1% is acceptable
- Held for 3.3 hours: 0.5% still run
One more "50 minute" intermediate tier than Mod1's three tiers, more refined!
5.2 Trailing Stop
Same as Mod1:
- Profit hits 1% → Activate trailing stop
- Stop line follows price, keeping 0.1% distance
- Price retraces → Stop triggers, locking in profit
5.3 Base Sell Signal (1)
Classic Line:
- Signal #1:
Price > EMA * 1.01"Price rose 1% above EMA. Might be overheated short-term. Sell and take profit."
VI. This Strategy's "Personality"
✅ Pros (The Good Stuff)
- Antipump Protection: New pump_strength, avoids chasing highs after pumps
- Four-Tier Take Profit: One more tier than Mod1, more flexible profit management
- Sub-strategy Design: Can choose to enable/disable antipump functionality
- Zero Lag Indicator: ZEMA responds faster than EMA
⚠️ Cons (The Bad Stuff)
- Increased Complexity: Added ZEMA, pump_strength compared to Mod1, code is longer
- More Parameters: Increased from 7 to 8, parameter tuning is more hassle
- Antipump May False Positive: True strong breakouts may also get filtered out
- startup_candle_count = 200: Needs more historical data, slower calculation
VII. When to Use This Strategy?
| Market Environment | Recommended Version | Reason |
|---|---|---|
| 📈 Normal Trend | Base version | No need for antipump protection |
| 🚀 Many Fast Pumps | antipump sub-strategy | Enable antipump protection |
| 🔄 Ranging/Sideways | Neither works | EMA false breakout issues still exist |
| 📉 Downtrend | Definitely don't use | Long-only, giving money away |
VIII. Summary: How's This Strategy Really?
One-Line Review
"Mod1's upgraded version, antipump feature is practical, but parameter tuning is more hassle."
Who Should Use It?
- ✅ Mod1 users wanting added protection
- ✅ Running volatile pairs (many pumps)
- ✅ Don't want to chase highs and get trapped
- ✅ Willing to spend time tuning parameters
Who Shouldn't Use It?
- ❌ People who think Mod1 has enough parameters already
- ❌ Running stable pairs (don't need antipump)
- ❌ Don't want to study pump_strength
- ❌ Stubborn folks forcing trades in ranging markets
My Advice
- Try Mod1 First: If Mod1 performs well, then consider Mod2
- Check Pair Characteristics: Use antipump sub-strategy for pump-heavy pairs
- Tune antipump_threshold: Default 0.25 might be too loose or tight, adjust per pair
- Compare Backtests: Mod1 vs Mod2 comparison, see if antipump adds value
IX. What Markets Can This Strategy Profit In?
9.1 Core Logic: Mod1 + Antipump
SMAOffsetProtectOptV1Mod2 is Mod1's "bodyguard version." About 200 lines of code (including sub-strategy), roughly 30 more lines of antipump logic than Mod1 📚
Its Profit Philosophy: Buy on trend pullbacks, but avoid pump traps.
- EMA Offset: Wait for price to drop below EMA before buying
- EWO Protection: Confirm trend is still there or dropped too much
- pump_strength: Detect short-term over-rising, avoid chasing highs
- Trailing Stop: Protect profits once made
9.2 Performance in Different Markets (Plain English)
| Market Type | Performance Rating | Plain English Explanation |
|---|---|---|
| 📈 Normal Uptrend | ⭐⭐⭐⭐⭐ | Just as comfortable as Mod1 |
| 🚀 Fast Pump | ⭐⭐⭐⭐☆ | antipump helps you avoid chasing highs (sub-strategy) |
| 🔄 Ranging/Sideways | ⭐⭐☆☆☆ | EMA false breakout issues still exist |
| 📉 Downtrend | ⭐☆☆☆☆ | Long-only, giving money away |
One-Line Summary: Wherever Mod1 makes money, this makes money too, plus helps you avoid pump traps.
X. Want to Run This Strategy? Check These Settings First
10.1 Trading Pair Configuration
| Configuration Item | Recommended Value | Commentary |
|---|---|---|
| Timeframe | 5m | Default is this |
| Informative Timeframe | 1h | Auxiliary trend view |
| Startup Candles | 200 | Much more than Mod1's 30! |
| Trading Pairs | 1-10 | Too many makes parameter tuning hard |
10.2 Antipump Parameter Tuning
# If your pair pumps often
antipump_threshold: 0.2 # Stricter, easier to filter
# If your pair has normal volatility
antipump_threshold: 0.3 # Looser, less filtering
# Default value
antipump_threshold: 0.25 # Medium
10.3 Hardware Requirements (Important!)
| Number of Trading Pairs | Minimum Memory | Recommended Memory | Experience |
|---|---|---|---|
| 1-10 pairs | 2GB | 4GB | Smooth |
| 10-50 pairs | 4GB | 8GB | Acceptable |
| 50+ pairs | 8GB | 16GB | Might lag |
Warning: startup_candle_count = 200! Needs 200 candles of historical data before it can start calculating. Almost 7x more than Mod1's 30. Old machines beware!
10.4 Backtesting vs Live Trading
Like Mod1, good backtesting doesn't guarantee live trading profits:
- HyperOpt parameters might be "memorizing answers"
- antipump parameter needs adjustment for different pairs
- Over-protection might filter out real opportunities
Recommended Process:
- First backtest with Mod1
- Then backtest with Mod2 base version
- Compare the differences
- If pump issues are serious, then enable antipump sub-strategy
Don't enable antipump from the start, it might filter out good opportunities!
XI. Bonus: The Author's "Little Secrets"
Looking carefully at the code, you'll find some interesting things:
-
Two populate_indicators functions again?
"Traces of copy-paste again... can the author merge them? 😅"
-
Sub-strategy Design
"antipump is an inherited subclass, can choose to enable or not. Design is flexible, no need to modify main strategy code."
-
ZEMA uses the technical library
"ZLEMA (Zero Lag EMA) responds faster than regular EMA, suitable for detecting short-term pumps. Author chose the right indicator!"
-
startup_candle_count = 200
"Because ZEMA_200 needs at least 200 candles to calculate. This is more thoughtful than Mod1, Mod1's 30 might not be enough for EWO(200)."
XII. Final Words
One-Line Review
"Mod1's smarter upgraded version, antipump feature is practical, but complexity and parameters also increased."
Who Should Use It?
- ✅ Mod1 users wanting added protection
- ✅ Running pump-heavy pairs
- ✅ Don't want to chase highs and get trapped
- ✅ Willing to study new parameters
Who Shouldn't Use It?
- ❌ People who think Mod1 has enough parameters already
- ❌ Running stable pairs, don't need antipump
- ❌ Don't want to add complexity
- ❌ Stubborn folks forcing trades in ranging markets
Manual Trader Recommendations
Manual trading version of this strategy:
- Check if price dropped 2.7% below EMA(16)
- Check if EWO > 5.67 or < -19.9
- Check if RSI < 59 (Condition #1 needs this)
- NEW: Check if pump_strength < 0.25
- After buying, set trailing stop, start protecting after 1% profit
XIII. ⚠️ Risk Warning Again (This Part is Important!)
Backtesting is Beautiful, Live Trading Needs Caution
SMAOffsetProtectOptV1Mod2's historical backtest performance might be very good - but like Mod1, there's a trap:
Parameters were optimized through HyperOpt, strategy easily "memorizes answers" - that is, overfitting historical data.
Plus, if antipump parameter is tuned poorly, it might:
- Too strict: Filter out true strong breakouts
- Too loose: Can't detect pumps at all
Hidden Risks of Antipump
Antipump mechanism isn't a silver bullet:
- False Positive: True strong uptrend judged as pump, missing opportunities
- False Negative: Slow pumps might not be detected
- Parameter Sensitivity: Different pairs need different thresholds
My Advice (Honest Words)
1. Backtest with Mod1 first, see if there are pump chasing issues
2. If yes, then use Mod2 antipump sub-strategy
3. Start antipump_threshold from 0.25, adjust per pair
4. Compare both performances, see if antipump adds value
5. Verify with small capital live trading before scaling up
Remember: Antipump isn't perfect, bad parameter tuning might backfire. Test with small positions, staying alive is most important! 🙏