NotAnotherSMAOffsetStrategy_uzi3: What's This Strategy Actually Doing?
1. What Is This Strategy, Really?
In plain English, this is a robot that helps you automatically "buy the dip and sell the peak."
The name — NotAnotherSMAOffsetStrategy_uzi3 — sounds fancy, but it basically means "not your average moving average offset strategy." Regular strategies say "buy when price crosses above the MA, sell when it crosses below." This one doesn't do that. Instead, it uses offsets — so instead of buying when price just crosses the MA, it only buys when price is "3% below the MA." This lets you get in cheaper or get out higher.
It's best suited for short-term crypto trading on the 5-minute chart — the kind of "buy today, sell tomorrow" rhythm.
2. What's the Basic Game Plan?
Think of it like grocery shopping.
A regular strategy: you see prices go up, you buy; prices drop, you sell.
This strategy:
- First check if prices have been going up or down lately (using MAs)
- If it's an uptrend, wait for a pullback to a cheaper price before buying
- If it's a downtrend, wait for an oversold bounce before buying
- Once you're in profit, wait until momentum fades before selling
Core idea: Don't chase highs or panic on lows. Find a comfortable entry and exit.
3. What Tools Does It Use?
The strategy pulls in several technical indicators. Let me break them down:
3.1 Moving Averages (MA)
The most basic tool. Add up the prices from the last N days and divide by N — boom, a smooth line. The strategy uses a few flavors:
- EMA_100: 100-period exponential MA for the big picture. If price is above this line, it's a bull market; below, it's a bear market.
- EMA_10: 10-period fast MA for short-term direction.
- SMA_9: 9-period simple MA for sell timing.
- HMA_50: 50-period Hull MA — more responsive than regular MAs, also for sell timing.
3.2 ZLEMA2 (Zero-Lag MA)
The strategy's own custom indicator. Regular MAs have a problem called "lag" — price moves up but the line is still dragging behind. ZLEMA2 fixes this by making the MA react faster to price.
How? Compute EMA once, then compute EMA of that EMA, then add the difference back. Double smoothing + correction — the line hugs price more closely.
3.3 EWO (Elliott Wave Oscillator)
This one's from wave theory. Formula: (5-day EMA - 200-day EMA) ÷ Close × 100
What it tells you:
- Large positive value: short-term MA is above long-term MA — classic bull market signal
- Large negative value: short-term MA is below long-term MA — bear market
- Near zero: market is consolidating
The strategy uses this to answer: "Is it time to buy, or should I wait?"
3.4 RSI (Relative Strength Index)
RSI tells you when something is overbought or oversold.
- RSI > 70: Too many buyers, price might pull back
- RSI < 30: Too many sellers, price might bounce
The strategy uses three RSIs:
- RSI_14: The standard one
- RSI_4: Fast one for catching short-term moves
- RSI_20: Slow one for confirming the broader trend
3.5 Bollinger Bands
Three lines: the middle is an MA, the upper and lower bands are the middle ± 2× standard deviation.
Price drops below the lower band → too cheap, might bounce. Price breaks above the upper band → too expensive, might pull back.
The strategy uses two sets of Bollinger Bands — one with 40-day parameters, one with 20-day — each serving different purposes.
4. When Does It Buy?
The strategy has four buy signals. Any one of them fires, and it buys.
Signal Type 1: EWO1
Conditions:
- RSI_4 < 35 — short-term price has fallen enough
- Price < MA × 0.986 — about 1.4% below the MA
- EWO > 4.179 — still fundamentally bullish
- RSI_14 < 58 — not overbought
- Volume is present
Plain English: It's a pullback in a bull market. Price dropped a little below the MA — might be a good time to scoop some up.
Signal Type 2: EWO2
Similar to EWO1, but:
- Price needs to be even lower (about 5.6% below the MA)
- RSI needs to be more extreme (< 25)
Plain English: The price drop is more severe — a deeper pullback, more aggressive buy.
Signal Type 3: EWO Low
Conditions:
- RSI_4 < 35
- Price < MA × 0.986
- EWO < -16.917 — very strong bearish momentum
- Volume is present
Plain English: The market is panicking, everyone's selling. But it's oversold. Time to "be greedy when others are fearful."
Signal Type 4: BB_Bull
This signal is specifically for bull markets. The conditions are complex, but simply:
Condition A: Price breaks below the Bollinger lower band, plus some form/pattern conditions (enough volatility, lower wick not too long, etc.)
Condition B: Price is above the long-term MA but below the short-term MA, and has broken below the Bollinger lower band
Plain English: In a bull market, if price suddenly drops below the Bollinger lower band, it might be a buying opportunity.
5. When Does It Sell?
Selling isn't random — there are rules.
Condition 1
- Price > 9-day MA — short-term price is still okay
- Price > sell MA × 1.018 — up 1.8%+
- RSI > 50 — still a bull market
- RSI_4 > RSI_20 — short-term momentum is weakening
Condition 2
- 9-day MA suddenly jumps > 0.5% — might be peaking
- Price < Hull MA — starting to weaken
- Price is still in the sell zone
- RSI_4 > RSI_20 — momentum weakening
Plain English: Price has risen, but momentum is starting to fade. Time to take profits and run.
And There's Mandatory Exiting
The strategy has an ROI table:
| Holding Time | Exit When Profit Reaches |
|---|---|
| Just bought | 21.5% |
| After 40 minutes | 3.2% |
| After 87 minutes | 1.6% |
If it surges 21.5% right after buying, it sells immediately to lock in profits. If it doesn't rise that fast, it waits. The longer it takes, the lower the profit target — because you don't want profits to slip away.
6. What If Things Go Wrong?
The strategy has solid stop-loss mechanisms.
Fixed Stop-Loss
When losses hit 10%, it exits automatically. That's the floor — no more losses allowed.
Trailing Stop
This one's smarter. After you make 2.5% profit, the system starts "watching" your gains:
- Keep making money → stop level moves up with you
- Start losing, but haven't hit the stop line yet → keep holding
- Price pulls back and hits the stop line → auto-sell
The trailing stop stays 0.5% below the highest point, giving you some breathing room but not letting profits turn into losses.
Only Sell When Profitable
Config has sell_profit_only = True. This means it only responds to sell signals when the position is actually in profit. If you're still underwater, the system ignores sell signals and waits for you to break even or hit your stop-loss.
7. What's Special About This Strategy?
1. Auto-Adapts to the Market
The strategy has a "smart mode switch":
if last candle dropped > 2%:
# Enter "crash mode"
Stop-loss relaxed to -30%
Trailing stop offset changed to 3%
Buy offset deeper (find cheaper entries)
else:
# Normal mode
Stop-loss -10%
Normal parameters
Plain English: If the market suddenly crashes, the strategy loosens the stop-loss so you don't get shaken out during panic selling. It also adjusts buy conditions to look for cheaper entries.
This is very human-friendly design — crashes are often followed by rebounds, and if your stop is too tight, you'll get stopped out and miss the bounce.
2. Slippage Protection
When executing, the price might differ from what you expected — that's "slippage."
Protection mechanism:
- If slippage > 2%, refuse to trade
- Retry up to 3 times max
- If still not working, give up
Plain English: If market liquidity is bad and the bid-ask spread is too wide, the strategy protects you from getting ripped off.
3. Double-Check Before Selling
The strategy has a confirm_trade_exit method that double-checks after a sell signal fires:
if HMA_50 close to EMA_100 and price < EMA_100's 95%:
return False # Don't sell
Plain English: If price has dropped badly but the trend might be reversing, the strategy refuses to honor the sell signal — avoiding selling at the bottom.
8. What to Watch Out For
Pros
- High-quality signals: Not just one indicator decides — several indicators must all agree, fewer false signals
- Dynamic adaptation: Adjusts to market conditions automatically, not rigid
- Solid risk control: Stop-loss, trailing stop, slippage protection — it's got layers
- Multiple exit options: Active selling, passive profit-taking, forced stop-loss — something fits every situation
Cons
- Many parameters: Takes time to understand, even longer to fine-tune
- Gets stuck in ranging markets: When price goes sideways, MAs have no direction, you might get whipsawed
- No position sizing built in: You have to decide how much to buy each time
- Crash judgment is simplistic: Only looks at one candle's drop, could misjudge
9. How to Use This Strategy Well?
Step 1: Backtest First
Don't jump straight to live trading! Run historical data backtests and check:
- Win rate (usually 60%+ is good)
- Profit/loss ratio (average win vs. average loss)
- Maximum drawdown (biggest peak-to-trough drop)
- Trades per day (too many or too few is concerning)
Step 2: Paper Trade
Good backtest ≠ good live performance. Run paper trading for a month and see how it actually behaves.
Step 3: Small Capital Live
Once confirmed, start with small capital. Single trade should not exceed 5% of total funds.
Step 4: Keep Monitoring
This isn't a "set it and forget it" strategy. Check regularly:
- Has win rate changed?
- Has recent market style shifted?
- Do parameters need adjusting?
10. Frequently Asked Questions
Q: What coins does this suit? A: Moderate volatility, high-liquidity coins. Bitcoin and Ethereum are ideal. Small caps are too volatile, more false signal risk.
Q: How much capital do I need? A: No hard requirement, but several hundred USD is recommended. Too little and per-trade gains are meaningless while fees eat into everything.
Q: How many trades per day? A: Depends on the market. Active markets might see several; quiet markets might see zero. On 5-minute charts, 0-10 trades per day is normal.
Q: Can stops fail? A: In extreme conditions, yes. In a flash crash where price drops 20% instantly, your 10% stop may not fill — actual loss could be much bigger. Be mentally prepared for this risk.
Q: How does it compare to other strategies? A: No strategy is universally best. This one leans toward "steady dip-buying" — not for people who like chasing breakouts. If you prefer quick in-and-out plays, another strategy might suit you better.
11. Core Code Logic (For Code-Savvy Readers)
Buy Logic
# Entry signal
if RSI_fast < 35 and price < MA × offset and EWO > threshold and RSI < threshold:
buy()
# Or buy more aggressively during crashes
if price drop > 2%:
adjust_parameters(larger_stop, deeper_buy_offset)
Sell Logic
# Exit signal
if price > short_MA and price > target_price and RSI > 50 and fast_RSI > slow_RSI:
sell()
# Or when trend starts weakening
if short_MA suddenly_rises and price < Hull_MA and momentum_fading:
sell()
Protection Mechanisms
if slippage > 2%:
retry up to 3 times, then give up
if sell_signal triggers and might_be_false:
reject_sell()
12. Quick Parameter Reference
| Parameter | Default | Description |
|---|---|---|
| Timeframe | 5 minutes | Candle period |
| Stop-loss | -10% | Maximum loss tolerance |
| Trailing Stop | On | Enabled after profit |
| Trailing Offset | 0.5% | Stop line distance from high |
| Activation Offset | 2.5% | Profit needed to enable trailing |
| EWO Fast Period | 50 | Wave indicator fast line |
| EWO Slow Period | 200 | Wave indicator slow line |
| Startup Candles | 400 | Historical candles needed |
Crash Mode Parameter Changes:
| Parameter | Normal | Crash Mode |
|---|---|---|
| Stop-loss | -10% | -30% |
| Trailing Offset | 2.5% | 3% |
| Buy Offset 1 | 0.986 | 0.975 |
| Buy Offset 2 | 0.944 | 0.955 |
| EWO Low Threshold | -16.917 | -20.988 |
| EWO High Threshold | 4.179 | 2.327 |
| RSI Buy Threshold | 58 | 69 |
13. The Bottom Line
NotAnotherSMAOffsetStrategy_uzi3 is a strategy that "thinks for itself." It doesn't simply chase breakouts:
- Finds pullback entries in trends — doesn't chase highs
- Finds rebound entries in panics — doesn't panic-sell
- Dynamically adapts to market changes — one parameter set doesn't rule them all
- Multiple protection layers — stops, trailing stops, slippage protection
Suitable for crypto short-term traders who don't want to watch charts all day. But remember: no strategy guarantees profits. Risk is always priority one.
Before using: backtest → paper trade → small capital live.
Happy trading!
This document explains the strategy in plain language. For actual trading decisions, please refer to the code.