Skip to main content

SMAOffsetProtectOptV1Mod Strategy: The "Face-Reading" Bottom Sniping Expert

Nickname: EMA Offset Wizard
Profession: Trend Pullback Sniper
Timeframe: 5 minutes


I. What is This Strategy?​

Simply put, SMAOffsetProtectOptV1Mod is:

  • Wait for price to drop below the moving average before buying
  • Use EWO indicator to confirm the trend is still intact
  • Use RSI to ensure you're not buying at the top
  • Trail your take-profit as price rises

Like "buying discounted goods, but making sure they're brand name" 🛒


II. Core Configuration: "Take Profits and Run, Don't Be Greedy"​

Take Profit Rules (ROI Table)​

Profit 2.8% immediately → Run!
After 12 candles (1 hour), only 1.6% profit → Still run!
After 37 candles (3 hours), only 0.5% profit → Still run!

Translation: "Small wins add up." Take what you can get, don't chase big moves. Suitable for 5-minute short-term trading.

Stop Loss Rules​

Fixed stop loss: -10% (accept a 10% loss)
Trailing stop: Start trailing after 1% profit, maintain 0.1% distance

Translation: Cut losses at 10%, protect profits after winning. Like "10% is my floor, the ceiling depends on the market."


III. 2 Buy Conditions: I've Categorized Them for You​

This strategy's buy conditions are simple, just 2, and I've sorted them into 2 categories:

🎯 Category 1: Trend Pullback Buy (1 condition)​

Core Logic: Pullbacks in an uptrend are buying opportunities

Plain English:

"The big direction is right, small pullbacks are actually chances to hop on. But RSI shouldn't be too high, meaning not overheated yet."

Representative Condition: Condition #1

Classic Lines:

  • Condition #1: Price < EMA * 0.973 AND EWO > 5.672 AND RSI < 59

    "Wait for price to drop 2.7% below EMA, trend is still up (high EWO), and not overbought (low RSI). Let's go!"


📉 Category 2: Bottom Fishing Buy (1 condition)​

Core Logic: Dropped too much, should bounce back right?

Plain English:

"Dropped to grandma's house, EWO is ridiculously negative, a bounce should be coming right?"

Representative Condition: Condition #2

Classic Lines:

  • Condition #2: Price < EMA * 0.973 AND EWO < -19.931

    "Low price + ridiculously negative EWO = oversold. Let's catch the bounce! No RSI filter this time, oversold bounces don't care about overbought levels."


IV. Protection Mechanism: EWO the "Trend Bodyguard"​

Each buy condition comes with EWO protection, like hiring a bodyguard:

Protection TypeFunctionPlain English
EWO high thresholdConfirms trend is up"The trend is real, not a fake breakout"
EWO low thresholdConfirms oversold"Dropped this much, should bounce"
RSI filterDon't buy overbought"Don't chase high, wait for pullback"

This design is clever: buy on "confirmed trend pullbacks" or "extreme oversold bounces," not in "unclear ranging zones."


V. Sell Logic: Even Simpler Than Buying​

5.1 Tiered Take Profit: How Much to Run With​

Holding Time    Profit Target
────────────────────
Immediate 2.8%
After 1 hour 1.6%
After 3 hours 0.5%

Plain English:

  • Just bought and it's up: wait for 2.8% before selling
  • Held for 1 hour: 1.6% is fine too
  • Held for 3 hours: 0.5% is still acceptable

Basically: "The longer you hold, the lower your standards become" 😅

5.2 Trailing Stop: Protect What You've Earned​

Profit hits 1% → Activate trailing stop
Stop line follows price, keeping 0.1% distance
Price retraces → Stop triggers, locking in profit

Plain English: Like walking a dog on a leash. The dog (price) runs forward, you follow. The dog turns back, the leash pulls you.

5.3 Base Sell Signal (1)​

Classic Line:

  1. 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)​

  1. Clear Logic: EMA offset + EWO protection, easy to understand, no fancy tricks
  2. Dual Mode: Trend pullback + bottom fishing, handles both market phases
  3. Trailing Stop: Profit protection is solid, won't let "ducks that landed in hand fly away"
  4. Optimizable Parameters: 7 adjustable parameters, suitable for different pairs

⚠️ Cons (The Bad Stuff)​

  1. Ranging Markets Kill: EMA offset strategies hate sideways, get slapped back and forth
  2. Long-Only: Can't profit in falling markets
  3. HyperOpt-Tuned Parameters: Might be overfitting historical data, may not work in live trading
  4. Fixed 10% Stop Loss: For some volatile pairs, 10% is nothing; for stable pairs, 10% is too loose

VII. When to Use This Strategy?​

Market EnvironmentRecommended ActionReason
📈 Clear UptrendUse boldlyPullback buy + trailing take profit work perfectly together
🔄 Ranging/SidewaysDon't useEMA will repeatedly false breakout, stops will eat you alive
📉 DowntrendDefinitely don't useLong-only means just giving money away
⚡ High VolatilityUse cautiouslyRaise low_offset, don't get washed out

VIII. Summary: How's This Strategy Really?​

One-Line Review​

"A star in trending markets, a韭菜 harvester in ranging markets."

Who Should Use It?​

  • ✅ Traders who can read trends
  • ✅ People who accept small losses and build wins over time
  • ✅ Willing to spend time tuning parameters
  • ✅ Running short timeframes like 5 minutes

Who Shouldn't Use It?​

  • ❌ People wanting overnight riches
  • ❌ Stubborn folks who force trades in ranging markets
  • ❌ Those unwilling to backtest and optimize
  • ❌ People running larger timeframes

My Advice​

  1. Backtest First: Don't trust default parameters, tune for your pairs
  2. Watch the Trend: Confirm trending market before using, rest in ranging markets
  3. Set Stop Loss: 10% fixed stop might not be enough, adjust based on your pairs
  4. Don't All-In: This strategy builds small wins into big wins, not a money-printing machine

IX. What Markets Can This Strategy Profit In?​

9.1 Core Logic: "Reading Faces" with EWO​

SMAOffsetProtectOptV1Mod is a medium-complexity strategy. About 170 lines of code - that's like a long article 📚

Its Profit Philosophy: Buy on trend pullbacks, fish for extreme oversold bounces.

  • EMA Offset: Wait for price to drop below EMA before buying, don't chase
  • EWO Protection: Confirm trend is still there (high EWO) or dropped too much (low EWO)
  • Trailing Stop: Protect profits once made, don't let them slip away

9.2 Performance in Different Markets (Plain English)​

Market TypePerformance RatingPlain English Explanation
📈 Clear Uptrend⭐⭐⭐⭐⭐Pullback buy + trailing take profit = smooth sailing
🔄 Ranging/Sideways⭐⭐☆☆☆EMA goes up and down, stops eat you up
📉 Downtrend⭐☆☆☆☆Long-only = giving money away
⚡ High Volatility⭐⭐⭐☆☆Might get washed out, but trailing stop has protection

One-Line Summary: A god in trending markets, a ghost in ranging markets.


X. Want to Run This Strategy? Check These Settings First​

10.1 Trading Pair Configuration​

Configuration ItemRecommended ValueCommentary
Timeframe5mDefault is this, don't change
Informative Timeframe1hAuxiliary trend view
Trading Pairs1-10Too many makes parameter tuning hard

10.2 Parameter Tuning Recommendations​

# If your pair has high volatility
low_offset: Adjust to around 0.95
trailing_stop_positive_offset: Adjust to 0.015

# If your pair has low volatility
low_offset: Keep at 0.973
stoploss: Can adjust to -0.05

10.3 Hardware Requirements (Important!)​

Number of Trading PairsMinimum MemoryRecommended MemoryExperience
1-10 pairs2GB4GBSmooth
10-50 pairs4GB8GBAcceptable
50+ pairs8GB16GBMight lag

Warning: This strategy calculates EMA (5-80 periods), EWO (50+200), RSI (14). Significant computation. Old machines beware!

10.4 Backtesting vs Live Trading​

Backtesting looks great? Don't celebrate too early:

  • HyperOpt parameters were "memorizing answers"
  • Live trading slippage and fees will eat profits
  • Past performance doesn't guarantee future results

Recommended Process:

  1. Backtest and optimize parameters
  2. Test on a different time period (out-of-sample test)
  3. Run paper trading for 1-2 weeks
  4. Small capital live trading
  5. Confirm stability before scaling up

Don't all-in from the start. Even the best strategy needs breaking in!


XI. Bonus: The Author's "Little Secrets"​

Looking carefully at the code, you'll find some interesting things:

  1. Two populate_indicators functions?

    "Sorry, there are two populate_indicators function definitions in the code... traces of copy-paste 😂"

  2. EWO parameters are 50 and 200, but function defaults are 5 and 35

    "The author defined their own EWO function, but uses 50 and 200 from the class. This is smoother than the default 5/35, suitable for 5-minute timeframes."

  3. startup_candle_count only set to 30

    "But EWO uses 200 periods... should be 200+. Minor flaw, doesn't affect running but might affect accuracy of the first few candles."


XII. Final Words​

One-Line Review​

"Simple and effective trend pullback strategy, clean code, clear logic, suitable for beginners."

Who Should Use It?​

  • ✅ Freqtrade beginners
  • ✅ People wanting to understand EMA offset strategies
  • ✅ Willing to spend time tuning parameters
  • ✅ Running in trending markets

Who Shouldn't Use It?​

  • ❌ Wanting to make money lying down
  • ❌ Forcing trades in ranging markets
  • ❌ Going live without backtesting
  • ❌ Seeking high complexity

Manual Trader Recommendations​

Manual trading version of this strategy:

  1. Check if price dropped 2.7% below EMA(16)
  2. Check if EWO > 5.67 (trend up) or < -19.9 (oversold)
  3. Check if RSI < 59 (not overbought)
  4. 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​

SMAOffsetProtectOptV1Mod's historical backtest performance might be very good - but there's a trap:

Because parameters were optimized through HyperOpt, the strategy easily "memorizes answers" - that is, overfitting historical data, which doesn't guarantee future profits.

Simply put: Memorized past exam questions before the test, then found the questions changed on exam day.

Hidden Risks of Complex Strategies​

In live trading, pay attention to:

  • Slippage Risk: 5-minute level trading, slippage can eat significant profits
  • Fees: High-frequency trading fees accumulate, may offset small profits
  • Parameter Validity: Parameters tuned today might not work next month

My Advice (Honest Words)​

1. Backtest at least 3 different time periods, see if performance is stable
2. Paper trade for at least 2 weeks, confirm parameters still work
3. Start live trading with small capital, confirm strategy actually makes money
4. Review regularly, retune when parameters become ineffective

Remember: No matter how good the strategy, the market will humble you without warning. Test with small positions, staying alive is most important! 🙏