BuyOnly Strategy Analysis
Strategy Number: #39
Strategy Type: Minimalist Trend Following + Buy Only No Sell
Timeframe: 15 minutes (15m)
I. Strategy Overview
BuyOnly is a "buy only, no sell" minimalist strategy. As its name suggests — the strategy only generates entry signals, with no active exit logic. The core philosophy of this design is to let profits run, relying entirely on take-profit and stoploss mechanisms to exit positions.
The strategy adopts a classic technical indicator combination: RSI oversold + Bollinger Band lower band + TEMA trend confirmation, forming a simple yet effective entry system.
Core Features
| Feature | Description |
|---|---|
| Entry Conditions | 1 independent entry signal |
| Exit Conditions | 0 (relies entirely on take-profit/stoploss) |
| Protection | No explicit protection mechanisms |
| Timeframe | 15 minutes |
| Dependencies | talib, technical (qtpylib) |
II. Strategy Configuration Analysis
2.1 Base Risk Parameters
# ROI exit table
minimal_roi = {
"60": 0.01, # Exit at 1% profit after 60 minutes
"30": 0.02, # Exit at 2% profit after 30 minutes
"0": 0.04 # Immediate exit requires 4% profit
}
# Stoploss setting
stoploss = -0.10 # 10% fixed stoploss
Design Logic:
Unlike common strategies, BuyOnly's ROI setting presents a "reverse gradient" — shorter holding time, higher take-profit target. This is because the strategy assumes early entry points have more advantage and should pursue higher profits.
2.2 Trailing Stop Configuration
trailing_stop = True
The strategy enables the default trailing stop mechanism.
III. Entry Conditions Details
3.1 Single Entry Condition
(
qtpylib.crossed_above(dataframe["rsi"], 30)) & # RSI crosses above 30
(dataframe["open"] <= dataframe["bb_lowerband"]) & # Open price at Bollinger Band lower band
(dataframe["tema"] > dataframe["tema"].shift(1)) & # TEMA going up
(dataframe["volume"] > 0) # Has trading volume
)
Logic Breakdown:
- RSI crossed_above(30): RSI rebounds from oversold region
- open <= bb_lowerband: Open price at or below Bollinger Band lower band
- tema > tema.shift(1): TEMA continuing upward
- volume > 0: Has actual trading volume
Technical Meaning:
This is a typical "oversold bounce" entry strategy:
- RSI rebounding from below 30 indicates selling pressure easing
- Bollinger Band lower band provides reference for extreme price positions
- TEMA confirms short-term uptrend
- Volume validates signal effectiveness
IV. Exit Logic Details
4.1 No Active Exit
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
HODL
"""
return dataframe
The strategy's exit logic is completely empty, meaning all exit decisions rely on:
| Exit Method | Trigger Condition |
|---|---|
| Fixed Stoploss | Loss 10% |
| Trailing Stop | Default settings enabled |
| ROI Take-Profit | Holding time + profit rate |
4.2 ROI Exit Table Analysis
| Holding Time | Take-Profit Threshold | Design Intent |
|---|---|---|
| 0 minutes | 4% | Early quick take-profit |
| 30 minutes | 2% | Mid-term lower expectations |
| 60 minutes+ | 1% | Long-term retain position |
V. Technical Indicator System
5.1 Core Indicators
| Indicator Category | Specific Indicator | Purpose |
|---|---|---|
| Momentum Indicator | RSI (14) | Overbought/oversold judgment |
| Trend Indicator | TEMA (9) | Trend following |
| Volatility Indicator | Bollinger Bands (20,2) | Extreme position identification |
5.2 Indicator Parameters
| Indicator | Period | Description |
|---|---|---|
| RSI | 14 | Standard RSI period |
| TEMA | 9 | Triple Exponential Moving Average |
| Bollinger Bands | 20,2 | Classic parameter setting |
VI. Risk Management Features
6.1 Fixed Stoploss
10% fixed stoploss is the default setting, providing basic protection.
6.2 Aggressive Take-Profit
ROI settings reflect the strategy's pursuit of short-term returns, up to 4%.
6.3 No Protection Mechanisms
The strategy has no additional entry protection parameters, relying on RSI and Bollinger Bands as built-in filters.
VII. Strategy Pros & Cons
✅ Pros
- Minimalist Code: Easy to understand and modify
- Multi-Indicator Confirmation: RSI + Bollinger Bands + TEMA triple validation
- Let Profits Run: No active selling, relies on take-profit/stoploss
- Learning Friendly: Suitable for beginners to understand strategy structure
⚠️ Cons
- No Active Exit: Completely passive exit
- Single Condition: Only one entry condition
- No Trend Filtering: Doesn't distinguish bull/bear markets
- Signals May Be Too Frequent: 15-minute timeframe
VIII. Applicable Scenarios
| Market Environment | Recommended Configuration |
|---|---|
| Uptrend | ✅ Usable |
| Rebound market | ✅ Usable |
| Downtrend | ❌ Not recommended |
| Ranging market | ⚠️ Use with caution |
IX. Detailed Applicable Market Environments
9.1 Strategy Core Logic
BuyOnly's design philosophy is "capturing oversold bounces". When price falls to Bollinger Band lower band and RSI is in oversold region, it indicates price may have touched short-term bottom. Entry at this point, expecting price rebound.
9.2 Performance in Different Market Environments
| Market Type | Performance Rating | Reason Analysis |
|---|---|---|
| 📈 Uptrend | ⭐⭐⭐⭐ | Rebound signals often effective |
| 📉 Downtrend | ⭐⭐ | High risk counter-trend entry |
| 🔄 Ranging market | ⭐⭐⭐ | Bollinger Band lower band often effective |
| ⚡ High volatility | ⭐⭐⭐ | Frequent signals |
X. Important Reminders
10.1 Hardware Requirements
| Number of Pairs | Minimum Memory |
|---|---|
| 1-20 | 1GB |
| 20+ | 2GB |
10.2 Manual Trading Suggestions
- Confirm overall trend direction
- Wait for RSI to rebound from below 30 before entry
- Consider manually setting wider take-profit
XI. Summary
BuyOnly is a representative work of "minimalism". It implements trend following functionality with minimal code, one of the simplest strategies in the Freqtrade strategy library.
Its core values are:
- Simplicity: Very little code, easy to understand
- Let Profits Run: No active intervention, let market decide exit timing
- Learning Value: Suitable as starting point for strategy development
- Extensibility: Can add various protection mechanisms based on this
For quantitative traders, BuyOnly is a very good "skeleton strategy" — can add more conditions, protections, and complex exit logic on this foundation.
Document Version: v1.0
Strategy Series: Minimalist Trend Following