SMAOffsetProtectOptV1 Strategy: The MA Deviation Hunter with Protection
Nickname: "Bottom Picker Pro", "Hunter on Both Sides of the Moving Average"
Occupation: Quantitative hunter specializing in picking up bargains near moving averages
Timeframe: 5 minutes (sprinter mode)
I. What is This Strategy?β
Simply put, SMAOffsetProtectOptV1 is a strategy that:
- Buys when price deviates too far from the moving average (a "bottom picking" strategy)
- Uses Elliott Wave indicator to confirm trend direction
- Combined with RSI to prevent chasing highs
- Has a special design: ignores ROI limits as long as there's a buy signal, letting profits run
It's like going to the market at closing time to find bargains β waiting for prices to be pushed below the moving average by a certain percentage, then "picking up cheapies" π
II. Core Configuration: Simply "Take Profits + Greedy Mode"β
Take-Profit Rules (ROI Table)β
Time Profit Target
ββββββββββββββββββββββββ
0 min 1%
Translation: This strategy is a bit "greedy", default setting is to run after making 1%...
BUT! There's an anti-human design: ignore_roi_if_buy_signal=True
"As long as there's still a buy signal in the market, I'm not running! Let the profits fly!"
This is like planning to take profits at 1%, but then realizing you can keep making more, so you let it ride π
Stop Loss Rulesβ
Fixed Stop Loss: -10%
Trailing Stop: Enabled after 1% profit, trails at 0.1%
Translation:
- Fixed Stop Loss: Accept a 10% loss, no questions asked
- Trailing Stop: Once you start making money, use 0.1% "stickiness" to follow the price, locking in profits
III. 2 Buy Conditions: I've Categorized Them for Youβ
The buy conditions are actually quite simple, just 2, but each has its own character:
π― Condition #1: Trend Pullback Buyβ
Core Logic: Price pulls back below MA + trend still up + not chasing highs
In Plain English:
"The MA is the dad, price is the kid. The kid ran away from home (price below MA), but dad is still healthy (EWO is positive), and the kid doesn't have a fever (RSI isn't high). Time to go find the kid!"
Code Translation:
close < EMA * 0.978 # Price is about 2.2% below MA
AND EWO > 5.638 # Trend is up (EWO positive and relatively high)
AND RSI < 61 # Not overheated
π― Condition #2: Deep Oversold Buyβ
Core Logic: Price crashed hard + EWO extremely negative = oversold bounce opportunity
In Plain English:
"Price got crushed so hard, EWO dropped to -20. Time to pick up the pieces! No need to check RSI, just do it!"
Code Translation:
close < EMA * 0.978 # Price is about 2.2% below MA
AND EWO < -19.993 # Extremely oversold
Comment: This condition #2 is like a "bottom-picking maniac" specialty, specifically designed to catch bounces during crashes. Higher risk but potentially higher reward π°
IV. Protection Mechanism: 2 Layers of "Anti-Traps"β
Each buy condition has protection parameters, like going through two security doors:
| Protection Type | Purpose | In Plain English |
|---|---|---|
| EWO Threshold | Judge trend strength | "Is this drop real or fake?" |
| RSI Filter | Prevent chasing highs | "Don't stand guard on the mountain top!" |
What is EWO? Full name is Elliott Wave Oscillator, it's essentially the difference between fast EMA and slow EMA. This strategy uses 50 and 200 period EMAs to calculate EWO, very "long-term perspective."
Positive value = Fast line above slow line = Short-term stronger than long-term = Uptrend Negative value = Fast line below slow line = Short-term weaker than long-term = Downtrend
V. Sell Logic: Simple and Directβ
5.1 Single Sell Signalβ
Just one condition:
close > EMA(49-period) * 1.006
In Plain English:
"Price rises 0.6% above the 49-period MA, bye bye!"
5.2 Special Setting: Stick Around When Buy Signal Existsβ
ignore_roi_if_buy_signal=True is this strategy's "little trick":
Scenario:
- Price rose 1%, supposed to sell
- But strategy checks: "Hey, there's still a buy signal in the market!"
- Strategy: "Then I'm not selling, holding on!"
In Plain English:
"I was gonna run at 1% profit, but realized the market is still accumulating, so I'll wait!"
VI. This Strategy's "Personality Traits"β
β Pros (Praise Time)β
- Clear Logic: Nothing fancy, just MA offset + EWO confirmation + RSI filter, three simple tools
- Dual-Mode Buying: Catches trend pullbacks AND oversold bounces, walking on two legs
- Greedy but Controlled:
ignore_roi_if_buy_signallets winning positions fly longer - Optimizable Parameters: 7 parameters can be tuned, adaptable to different markets
β οΈ Cons (Roast Time)β
- Informative Timeframe Not Really Used: Defined 1h information layer, but all decisions on 5m, kinda wasteful
- Easily Harvested in Ranging Markets: EMA offset strategies get chopped likeιθ (chives) in sideways markets
- No Volatility Filter: Doesn't consider ATR, may misjudge during high volatility
VII. Applicable Scenarios: When to Use It?β
| Market Environment | Recommendation | Reason |
|---|---|---|
| π Slow Bull Trend | π’ Recommended | Pullback buying works great, trailing stop locks profits |
| π Mild Fluctuation | π‘ Caution | Increase low_offset, reduce trade frequency |
| π One-sided Decline | π‘ Careful | Only use condition #2 for bounces, small position trial |
| β‘ Severe Volatility | π΄ Not Recommended | EMA lag, serious signal delay |
VIII. Summary: How's This Strategy Really?β
One-Sentence Reviewβ
"Classic MA offset strategy, suitable for beginners to learn, but needs parameter tuning for live trading."
Who Should Use It?β
- β Quantitative beginners: Clear logic, clean code, easy to understand
- β People who like bottom picking: Both buy conditions are "buy the dip" style
- β People who don't want frequent trading: Tune parameters larger, lower trade frequency
Who Should NOT Use It?β
- β High-frequency trading seekers: This strategy is conservative
- β People who want to profit in ranging markets: MA offset performs poorly in sideways
- β People who don't want to tune parameters: Default parameters may not suit your coins
My Recommendationsβ
- Run backtest first: See historical performance
- Then tune parameters: Especially low_offset and ewo_high
- Small position live trial: Throw in like $100 to test
- Observe signal quality: Check if buy/sell timing is reasonable
IX. What Markets Can This Strategy Make Money In?β
9.1 Core Logic: Using "Deviation" to Find Opportunitiesβ
SMAOffsetProtectOptV1 belongs to the EMA Offset Strategy Series. The core philosophy of this series is:
"If price strays too far from the moving average, it will eventually come back"
Like a rubber band, if you stretch it too tight, it snaps back.
Its Money-Making Philosophy:
- Pick bottoms, don't chase highs: Only buy when price is below MA
- Trend confirmation: Use EWO to judge if it's a real drop or fake
- RSI filter: Prevent entering when overheated
9.2 Performance in Different Markets (Plain English Version)β
| Market Type | Performance Rating | Plain English Explanation |
|---|---|---|
| π Slow Bull Trend | βββββ | Pullback buying, chasing the bull's butt, perfect! |
| π Mild Fluctuation | βββββ | Can make money, but fees might be painful |
| π One-sided Decline | βββββ | Condition #2 can catch bounces, but easy to catch falling knife |
| β‘ Severe Volatility | βββββ | EMA hasn't reacted yet, price already ran away |
One-Sentence Summary: This strategy is a "trend friend", not a "ranging warrior"
X. Want to Run This Strategy? Check These Configurations Firstβ
10.1 Trading Pair Configurationβ
| Configuration Item | Recommended Value | Comment |
|---|---|---|
| Number of Trading Pairs | 5-20 | Don't be greedy, can't watch them all |
| Timeframe | 5m | This is the strategy's designed timeframe |
| Capital Allocation | 5-10% per pair | Diversify risk |
10.2 Key Configuration File Settingsβ
# config.json key settings
"max_open_trades": 3-5, # Not too many, can't watch them all
"stake_currency": "USDT",
"stake_amount": "unlimited", # Or fixed amount
"dry_run": true, # Run simulation first!
10.3 Hardware Requirements (Important!)β
This strategy has moderate computation, not demanding on hardware:
| Number of Trading Pairs | Minimum Memory | Recommended Memory | Experience |
|---|---|---|---|
| 1-10 pairs | 2GB | 4GB | Smooth |
| 10-50 pairs | 4GB | 8GB | Okay |
| 50+ pairs | 8GB | 16GB | Needs monitoring |
Warning: Although this strategy is simple, calculating EMA requires some data, startup_candle_count = 30, you need to wait for 30 candles after startup before trading can begin π
10.4 Backtest vs Live Tradingβ
Honest Truth: EMA offset strategies are especially prone to overfitting!
Why? Because:
- EMA period parameters (16/49) can be tuned to perfection on historical data
- Offset coefficients (0.978/1.006) can be precisely matched to historical optimal
- But historical optimal β future optimal
Recommended Process:
- Train on 70% data, test on 30% data
- Run backtests on multiple time periods
- Check if parameter performance is stable across different periods
- Don't go all-in on live trading right away
XI. Bonus: The Strategy Author's "Little Tricks"β
Looking carefully at the code, you'll find some interesting designs:
-
EWO uses 50/200 periods: Much slower than default 5/35, showing author wants more stable trend judgment
"I don't seek speed, I seek stability!"
-
Buy EMA is 16, Sell EMA is 49: Fast to buy, slow to sell, interesting design
"Enter fast, exit slow β let profits run!"
-
low_offset=0.978, high_offset=1.006: Buy 2.2% low, sell 0.6% high, asymmetric design
"Pick bottoms ruthlessly, run away fast!"
XII. Final Final Wordsβ
One-Sentence Reviewβ
"Entry-level EMA offset strategy, suitable for learning and tuning, but needs effort for live trading."
Who Should Use It?β
- β Quantitative beginners who want to learn strategy principles
- β People who like bottom-picking style
- β People who have time to tune and optimize parameters
- β People who want to understand EWO indicator
Who Should NOT Use It?β
- β People who want plug-and-play
- β Ranging market warriors
- β People who don't want to learn parameter tuning
- β High-frequency trading seekers
Manual Trader Recommendationsβ
If you don't run a bot but want to manually use this strategy's logic:
- Draw a 16-period EMA
- Watch when price drops about 2% below EMA
- Check EWO (you can use TradingView indicator)
- Consider entering when RSI is below 61
- Consider exiting when price rises 0.6% above EMA
XIII. β οΈ Risk Re-emphasis (Must Read Section)β
Backtesting Looks Great, Live Trading Needs Cautionβ
SMAOffsetProtectOptV1's historical backtest often looks pretty good β but there's a trap:
Because parameters can be optimized, the strategy can easily "fit" the optimal solution of past market conditions, but this doesn't guarantee future profits.
Simply put: Past performance does not guarantee future results β this clichΓ© is actually true.
Hidden Risks of Complex Strategiesβ
In live trading, simple logic can lead to:
- Slippage: Prices change instantly, backtests assume perfect execution
- Latency: Network delays can cause signal invalidation
- Exchange Limits: API limits can cause order failures
- Extreme Events: Black swan events can invalidate any strategy
My Recommendations (Honest Truth)β
1. Run dry_run mode for at least 1 week first
2. Check signal quality, see if buy/sell timing is reasonable
3. Tune parameters then run simulation again
4. Small position live trial (don't exceed 5% of total capital)
5. Continuous monitoring, adjust when problems found
Remember: No matter how good the strategy, when the market teaches you a lesson, it doesn't warn you first. Light position testing, survival is most important! π
Final Reminder: EMA offset strategies perform well in trending markets but get harvested in ranging markets. Judge the current market environment before using!