Skip to main content

BBMod1 Strategy: The "Swiss Army Knife" of Bollinger Bands

Nickname: The "Player" of Quant Trading (17 buy signals)
Occupation: Jack-of-all-trades trader, tries every market condition
Timeframe: 5 minutes (trading) + 1 hour (validation)


I. What is This Strategy?

Simply put, BBMod1 is:

  • Bollinger Band as the core, playing with upper, middle, and lower bands
  • 17 buy signals, covering everything from trends to oversold
  • Tiered stop loss to protect profits, not greedy not fearful
  • Multi-indicator validation, reducing false signals

Like a special forces soldier with 17 weapons, ready to pull one out for any situation 🎯


II. Core Configuration: Simply Put, "Tiered Take Profit + Dynamic Survival Mode"

Take Profit Rules (ROI Table)

Profit immediately after buying → Target 10%
Still holding after 30 minutes → Target drops to 5%
Still holding after 60 minutes → Target drops to 2%

Translation: When you just buy, you're ambitious, take profit at 10%; the longer you hold, the more conservative, eventually accepting 2%. This is the wisdom of "taking what you can get" 🤲

Stop Loss Rules

Profit < 1.9%     → Stop loss basically off (-99%)
Profit 1.9%-5% → Stop loss gradually rises from 1.7% to 4.5%
Profit > 5% → Stop loss = Profit - 0.5%

Translation:

  • Just bought, observe first, don't rush to stop out
  • Got some profit, start protecting, move up from 1.7%
  • Profit is large, protect most of it, only allow 0.5% pullback

This is like parenting strategy: let them fall when learning to walk, start protecting when they can walk, follow closely when they can run 🏃‍♂️


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

This strategy has an insane number of buy conditions, but categorized they're just a few types:

🎯 Category 1: Bollinger Band Oversold (2 conditions)

Core Logic: Price breaks below Bollinger lower band, ready to bounce

Plain English:

"Price has been pushed to the bottom of Bollinger Band, it should bounce right?"

Representative Conditions:

  • bb_checked: RSI low + CCI low + price touches BB lower band = "Triple oversold, must bounce"
  • vwap: Price below VWAP lower band + RSI oversold = "Volume-weighted price can't hold"

📈 Category 2: Trend Pullback (4 conditions)

Core Logic: Major trend is up, price pulls back to support, buy

Plain English:

"Trend is up, price pulls back a bit, perfect time to hop on!"

Representative Conditions:

  • local_uptrend: EMA26 > EMA12 + price retraces to BB lower band = "Big trend up, short-term pullback"
  • local_dip: In trend + RSI oversold = "Golden pit in the trend"

🌊 Category 3: ClucHA Series (2 conditions)

Core Logic: ClucHA strategy variant, Heikin Ashi candles + BB

Plain English:

"Use smoothed candles to look at price, buy at BB lower band, steady!"

Representative Conditions:

  • clucHA: HA candle closes below BB lower band + bandwidth expanding = "Oversold on smoothed chart"
  • clucHA2: Simplified version, just need HA price below BB lower band = "Quick signal"

⚡ Category 4: NFI Series (6 conditions)

Core Logic: Multiple combinations from the NFI strategy family

Plain English:

"Each condition has its own specialty, some look at EMA, some at CTI, some at BB"

Representative Conditions:

  • nfi_32: RSI crossover + CTI extremely low = "Momentum very weak, bounce imminent"
  • nfi_38: PMAX confirmation + EWO negative + CTI oversold = "Triple confirmed oversold"
  • nfix_39: EMA200 rising + BB lower band buy = "Big trend up + local oversold"

🎪 Category 5: Special Signals (3 conditions)

Core Logic: Various indicator combinations, unique tricks

Plain English:

"These are the author's secret recipes, you won't find them elsewhere"

Representative Conditions:

  • ewo: EWO indicator positive + RSI low + price below EMA = "Elliott wave low"
  • cofi: Stochastic golden cross + ADX confirms trend = "Classic reversal signal"

IV. Protection Mechanism: Dynamic Stop Loss "Three-Layer Armor"

Each buy condition comes with a set of protection parameters, like wearing three bulletproof vests:

Protection LayerFunctionPlain English
Hard Stop Loss-99%"Basically won't trigger, let the strategy run free"
Tiered Stop LossProfit-driven"More profit, tighter protection"
Special Condition Protection7 conditions exclusive"Higher risk signals, protect earlier"

Complaint: This stop loss logic is so complex even I can't remember it, but this "over-protection" is what makes it stable in backtests 🤷‍♂️


V. Sell Logic: Even More Fancy Than Buying

5.1 Tiered Take Profit: How Much to Make Before Running

Holding Time   Target Profit
────────────────────
0 minutes 10%
30 minutes 5%
60 minutes 2%

Plain English:

  • Just bought: Make 10% and run, quick money
  • Half hour later: 5% is fine, don't be too greedy
  • One hour later: 2% is good enough, don't drag on

5.2 Custom Sell Signals

ScenarioTrigger ConditionPlain English
CTI OverboughtCTI > 0.84 and R_14 > -20"Momentum too strong, might pull back"
ScalpingFisher > 0.39 + HA consecutive decline"Quick reversal signal"
Loss ExitPrice back above EMA + RSI > 50"Trend reversed, run quickly"

5.3 Special Stop Loss Protection

7 high-risk signals (vwap, clucHA, clucHA2, nfi_38, nfi7_33, nfi7_37, cofi) have extra protection:

Profit 1%-1.9% → Stop loss set to 0.9% (immediate protection)
Profit ≥1.9% → Resume normal stop loss

Plain English: These signals are high risk, protect as soon as there's some profit, don't wait to lose it back 😅


VI. This Strategy's "Personality"

✅ Strengths (Praise Time)

  1. Tons of Signals: 17 buy conditions, one is bound to fit the current market
  2. Refined Risk Control: Tiered stop loss, different protection for different profit levels
  3. Full Validation: Multi-indicator confirmation, reduces false signals
  4. Strong Adaptability: Can handle trends, oscillation, oversold

⚠️ Weaknesses (Complaint Time)

  1. Too Complex: 17 signals! Each with a bunch of parameters! Debugging will make you go bald!
  2. Parameter Explosion: Over 80 Hyperopt parameters, can't finish optimizing in a day
  3. High Computation: Multi-indicator + multi-timeframe, old computers will freeze
  4. Overfit Risk: Backtest looks good doesn't mean live trading works, don't be fooled by data
  5. Hard to Maintain: So many conditions, finding problems takes forever

VII. Applicable Scenarios: When to Use It?

Market EnvironmentRecommended ActionReason
Slow BullEnable all conditionsClear trend, all signals can profit
SidewaysEnable clucHA, local_dipMost effective for catching oscillation rebounds
DowntrendEnable vwap, nfi seriesOversold rebounds, quick in quick out
Extreme VolatilityPause useExtreme market may trigger stop loss sweeps or signal failure

VIII. Summary: How Is This Strategy Really?

One-Line Evaluation

"A special forces soldier with 17 weapons, can do everything, but also easy to get overwhelmed"

Who Should Use It?

  • ✅ Experienced quantitative traders (can understand various indicators)
  • ✅ People with sufficient hardware resources (memory 4GB+)
  • ✅ People who can handle complex debugging (don't cry when problems arise)
  • ✅ People willing to spend time optimizing parameters

Who Should NOT Use It?

  • ❌ Complete beginners (don't understand what indicators mean)
  • ❌ People who pursue simplicity (this strategy is definitely NOT simple)
  • ❌ People with no patience (debugging and optimization takes time)
  • ❌ People who want passive income (complex strategies need maintenance)

My Advice

  1. Backtest with default parameters first: See historical performance, get a feel for it
  2. Choose conditions that suit you: Don't need to enable all, pick a few you understand
  3. Small capital live test: Don't go all-in immediately, verify first
  4. Gradually adjust parameters: Fine-tune based on live performance, don't make big changes
  5. Keep monitoring: No matter how good the strategy, it needs human supervision

IX. What Markets Can This Strategy Make Money In?

9.1 Core Logic: Building a "Defense Net" with Complexity

BBMod1 is a multi-strategy combination strategy. Over 1000 lines of code, what does that mean? Equivalent to writing a small novel 📚

Its Money-Making Philosophy: Doesn't pursue perfection in a single signal, instead uses multiple signals to spread risk, plus refined stop loss protection, finding opportunities in different markets.

  • Diverse Signals: Trend, pullback, oversold, oscillation all covered
  • Full Validation: Every signal validated by multiple indicators
  • Flexible Stop Loss: Dynamically adjusted based on profit, protecting gains

9.2 Performance in Different Markets (Plain English Version)

Market TypePerformance RatingPlain English Explanation
📈 Slow Bull Market⭐⭐⭐⭐⭐"Clear trend, pullback buy signals one after another, sweet"
🔄 Sideways Market⭐⭐⭐⭐☆"BB strategy thrives in oscillation, buy low sell high is great"
📉 Downtrend Market⭐⭐⭐☆☆"Oversold rebounds can profit, but watch stop loss, don't catch falling knife"
⚡️ Extreme Volatility⭐⭐☆☆☆"Extreme market stop loss easily swept, signals can fail, recommend watching"

One-Line Summary: Slow bull and sideways make money, downtrend scraps by, extreme volatility watch from sidelines 🍿


X. Want to Run This Strategy? Check These Configurations First

10.1 Trading Pair Configuration

Configuration ItemRecommended ValueComplaint
Number of Pairs5-15 pairsToo many will lag, too few not enough diversification
Timeframe5 minutesDon't change, or all parameter tuning wasted
Max PositionsBased on capitalRecommend each pair ≤ 20% of total capital

10.2 Key Configuration File Settings

# Recommended configuration
max_open_trades: 3-5 # Simultaneous positions
stake_currency: USDT # Base currency
stake_amount: "unlimited" # Per trade amount (adjust based on capital)
dry_run: true # Simulate first!

10.3 Hardware Requirements (Important!)

This strategy has huge computational requirements, memory requirements for VPS:

Number of PairsMinimum MemoryRecommended MemoryExperience
1-5 pairs2GB4GBSmooth
5-15 pairs4GB8GBOccasional lag
15+ pairs8GB16GBNeed patience

Warning: Insufficient memory will cause calculation timeouts, missing trade signals! Recommend testing locally first, then move to VPS 😅

10.4 Backtest vs Live Trading

Backtest is beautiful, live reality is harsh:

  • Backtest has no slippage, latency, exchange rate limits
  • Live trading may encounter: network latency, API rate limits, price jumps
  • 17 signals all trigger perfectly in backtest, live may only get a few

Recommended Process:

  1. Backtest to verify basic logic
  2. Simulation run for 1-2 weeks
  3. Small capital live test
  4. Gradually increase capital

Don't go all-in immediately, no matter how good the strategy, it needs to be broken in!


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

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

  1. lower_trailing_list: These 7 conditions get "special treatment", have extra stop loss protection

    "The author knew these signals are higher risk, vaccinated in advance" 🎯

  2. is_optimize_xxx = False: Many parameters' optimization switches are off

    "These parameters are already optimized, don't mess with them" 🤫

  3. Commented out signals: gumbo, sqzmom, ewo_2, r_deadfish

    "The author tested and found these signals don't work well, commented them out decisively" ✂️

  4. 1-hour info layer: Uses extra timeframe for validation

    "Looking at the market from a higher dimension, like having a third eye" 👁️


XII. Final Words

One-Line Evaluation

"Complex but comprehensive, suitable for experienced people to slowly tune"

Who Should Use It?

  • ✅ Quant veterans (can read code and indicators)
  • ✅ People with resources (memory 4GB+, stable VPS)
  • ✅ Patient people (debugging and optimization takes time)
  • ✅ Risk-aware people (know backtest ≠ live trading)

Who Should NOT Use It?

  • ❌ Complete beginners (don't even understand indicator meanings)
  • ❌ People who pursue simplicity (this strategy is definitely NOT simple)
  • ❌ People who want passive income (needs continuous monitoring and adjustment)
  • ❌ People without resources (hardware can't keep up will freeze)

Advice for Manual Traders

Don't manually execute this strategy! Here's why:

  1. 17 signals need real-time monitoring, human eyes can't keep up
  2. Dynamic stop loss needs calculation every minute
  3. Multi-timeframe analysis needs watching multiple charts simultaneously
  4. Too many parameters, can't manually adjust

Correct approach: Use it as a quantitative strategy, let the machine execute automatically, you just need to monitor and maintain 🔧


XIII. ⚠️ Risk Warning Again (Read This Part!)

Backtest is Beautiful, Live Trading Needs Caution

BBMod1's historical backtest performance is often extremely excellent—but there's a trap:

Because there are so many parameters, the strategy easily "fits" the past market's optimal solution, but this doesn't mean it will definitely profit in the future.

Simply put: A student who memorized answers will fail when the test changes 📝

Hidden Risks of Complex Strategies

In live trading, complex logic may lead to:

  • Signal Conflicts: 17 signals may trigger simultaneously, resource allocation becomes an issue
  • Calculation Latency: Too many indicators, processing speed can't keep up with price changes
  • Over-optimization: Backtest parameters perfect, live parameters fail
  • Market Changes: Strategy adapts to historical market, may not adapt to future market

My Advice (Real Talk)

1. First backtest with default parameters, see if logic makes sense
2. Choose 3-5 signals you understand best, turn off the rest
3. Run simulation for at least 2 weeks, observe actual performance
4. Small capital live test (10-20% of total capital)
5. Fine-tune parameters based on live performance, don't make big changes
6. Continuously monitor, adjust when problems found

Remember: No matter how good the strategy, when the market teaches you a lesson, it won't give advance notice. Test with small positions, staying alive is most important! 🙏


Final Reminder: BBMod1 is a "Swiss Army knife" type strategy, comprehensive in function but requires users to have sufficient experience. Beginners should practice with simple strategies first, and try this "big guy" after getting familiar with quantitative trading logic.