Skip to main content

BuyOnly: The "Buy Only No Sell" Chill HODLer

Nickname: Chill HOLD Party, Buy Only No Sell
Profession: Buy then lie flat, wait for take-profit or stoploss
Timeframe: 15 minutes (Medium-frequency trading)


1. What's This Thing?​

Simply put, BuyOnly is:

  • A super chill strategy that only buys, never sells
  • A cautious player that needs 4 indicators to confirm before buying
  • A lazy player whose exits all depend on take-profit/stoploss
  • A minimalist with explosively little code

It's like buying a stock and then deleting the trading app, waiting until it hits your target price or stoploss before opening it again to sell — the fluctuations in between? None of my business! 🤣

The strategy's name is literally "Buy Only", the sell function in the code is empty, just a HODL comment — this is a famous meme in the crypto world, meaning "hold on for dear life".


2. Core Config: Basically "Lie Flat"​

Profit-Taking Rules (ROI Table)​

Hold < 30min → Run at 4% profit
Hold 30-60min → Run at 2% profit
Hold > 60min → Run at 1% profit

Plain English: This take-profit setting is counter-intuitive! Shorter holding time, higher take-profit target. Why? The strategy thinks entry points right after buying are better, should earn more; as time passes, take what you got, don't be greedy.

Stoploss Rules​

Loss 10% → Admit defeat and leave

Plain English: Cut at 10% loss, no nonsense.

Trailing Stop​

trailing_stop = True (enable default trailing stop)

Plain English: Can also trail, follows when price goes up, sells when it turns back.


3. 1 Entry Condition: Four-Insurance Confirmation​

This strategy has only 1 entry condition, but has 4 sub-conditions that must all be met:

(
qtpylib.crossed_above(dataframe["rsi"], 30) # RSI crosses up from below 30
& (dataframe["open"] <= dataframe["bb_lowerband"]) # Open price at or below Bollinger Band lower band
& (dataframe["tema"] > dataframe["tema"].shift(1)) # TEMA going up
& (dataframe["volume"] > 0) # Has trading volume
)

Plain English Translation:

"Boss! I found a great opportunity! RSI just climbed out of oversold zone, price opened near Bollinger Band lower band (means it dropped too much), TEMA still going up (trend upward), volume exists too — this is about to bounce! BUY!"

All four conditions must be met, only act when all satisfied.

Entry Signal Breakdown​

ConditionTechnical MeaningPlain English
RSI crosses above 30RSI rebounds from oversoldCan't sell anymore, time to bounce
Open ≤ Bollinger Band lower bandPrice at extreme lowCheap as hell
TEMA upwardTrend directionAlready started going up
Volume > 0Has trading activityNot a dead coin, people playing

4. Protection: Sorry, None!​

BuyOnly is a minimalist strategy, no complex protection mechanisms:

  • No entry protection parameter groups
  • No EMA protection
  • No ADX filtering

The strategy thinks RSI + Bollinger Bands + TEMA these three indicators themselves are protection. 🤷‍♂️


5. Exit Logic: Completely None!​

def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
HODL
"""
return dataframe

Look! The exit function has just one comment HODL, then directly returns empty data.

All exits rely on passive mechanisms:

Exit MethodTrigger ConditionPlain English
ROI Take-ProfitHolding time + profit rateRun when made enough
Fixed StoplossLoss 10%Dropped too much, admit defeat
Trailing StopPrice turns backFollow when up, sell when turns

6. This Strategy's "Personality Traits"​

✅ Pros (Praise Section)​

  1. Explosively Simple: Code just a few lines, beginners understand in 5 minutes
  2. No Need to Manage Exits: Buy then lie flat, worry-free
  3. Multi-Indicator Confirmation: 4 conditions together, won't buy blindly
  4. Learning Friendly: Best for first lesson
  5. Highly Extensible: This is a "skeleton", add whatever you want

⚠️ Cons (Roast Section)​

  1. No Exit Signals: Completely passive, might ride the roller coaster
  2. Counter-Trend Entry: May buy in downtrend, catching falling knives
  3. Few Signals: 15min + 4 conditions, might only trigger once in several days
  4. Stoploss Too Big: 10% stoploss maybe okay for crypto, but wide for other markets
  5. Doesn't Distinguish Bull/Bear: Buys same in all markets, not picky

7. Applicable Scenarios: When to Use It?​

Market EnvironmentRecommended ActionReason
📈 Rebound market✅ Use it!Oversold bounce is its specialty
📊 Uptrend✅ UsableHigh success rate buying in uptrend
📉 Downtrend❌ Don't use!Catching falling knives, easy to stoploss
🔄 Ranging market⚠️ CautionBollinger Band lower band may get slapped repeatedly

One Sentence: Best performance in pullback entries during uptrends, or oversold bounces in ranging markets.


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

One-Sentence Review​

"The chillest strategy — buy then delete the app, just HODL. Suitable for lazy people, beginners, and those wanting to learn strategy development."

Who Should Use It?​

  • ✅ Beginners learning Freqtrade strategy development
  • ✅ Lazy players, don't want frequent operations
  • ✅ Want simple strategy skeleton for extension
  • ✅ Like oversold bounce strategies

Who Should NOT Use It?​

  • ❌ Pursue active management, fine-tuned operations
  • ❌ Want to catch big trends (it's just a bounce strategy)
  • ❌ Like frequent trading (few signals)
  • ❌ Don't want to ride roller coasters (no active exit)

My Suggestions​

  1. As learning starting point: This strategy is the best intro case
  2. Can be modified: Add trend filtering, add protection mechanisms, add exit logic
  3. Use small capital first: Test for a while to see results
  4. Coordinate with big trend: Only use during overall uptrend

9. What Markets Can This Strategy Make Money In?​

9.1 Core Logic: Oversold Bounce​

BuyOnly's philosophy is simple:

  • RSI < 30 = Sold too much
  • Bollinger Band lower band = Price too cheap
  • TEMA upward = Started rising
  • All three together = Bounce opportunity!

9.2 Performance in Different Markets (Plain English Version)​

Market TypePerformance RatingPlain English Explanation
📈 Uptrend pullback⭐⭐⭐⭐⭐Big trend up + short-term oversold = best buy point
📉 Downtrend⭐☆☆☆☆Catching falling knives, easy to stoploss
🔄 Ranging market⭐⭐⭐☆☆Bollinger Band lower band useful, but may get slapped repeatedly
⚡ High volatility⭐⭐☆☆☆Frequent signals, but direction hard to judge

One-Sentence Summary: Oversold bounce in uptrend = this strategy's comfort zone 🎯

9.3 Key Configuration Recommendations​

Configuration ItemSuggested ValueDescription
Timeframe15m (default)Can try 5m or 30m
Stoploss-10% (default)Can adjust based on coin
Take-Profit1-4% (default)Crypto can be higher

10. Want to Run This Strategy? Check These Configs First​

10.1 Pair Configuration​

Configuration ItemSuggested ValueRoast
Number of pairs10-20Too few = not enough signals, too many = trouble managing
Coin SelectionMainstream coinsDon't buy meme coins, oversold may sell more

10.2 Hardware Requirements (Very Low!)​

This strategy is ridiculously simple, almost no hardware requirements:

Number of PairsMinimum MemoryRecommended MemoryExperience
1-201GB1GBSmooth
20+2GB2GBNo problem

Warning: If this strategy lags on your machine, time to change computers 😅

10.3 Backtest vs Live Trading​

Backtest Performance:

  • Backtest results look good in up years
  • May frequently stoploss in down years

Live Trading Notes:

  • Signals may be fewer than you think
  • Stoploss may be more frequent than you think

Suggested Process:

  1. Backtest first to see historical performance
  2. Run paper trading for a month
  3. Small capital live test
  4. Add position after confirming stability

11. Easter Egg: The Strategy Author's "Little Thoughts"​

Reading the code, I think the author might have smiled when writing this function:

def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
HODL
"""
return dataframe

HODL origin story:

In 2010, a drunk brother posted "I AM HODLING" (meant to write HOLDING), became a famous meme in crypto world, meaning "hold on for dear life, regardless of ups and downs".

Author's subtext:

"Sell? Doesn't exist. Buy then delete the app, just HODL!"


12. Final Final Thoughts​

One-Sentence Review​

"BuyOnly is the 'minimalist master' of strategies — uses least code to show you how strategies should be written."

Who Should Use It?​

  • ✅ Beginners learning Freqtrade strategy development
  • ✅ Want simple strategy skeleton for extension
  • ✅ Lazy players, don't want frequent operations
  • ✅ Like oversold bounce strategies

Who Should NOT Use It?​

  • ❌ Pursue complex strategies
  • ❌ Want active exit control
  • ❌ Don't want to ride roller coasters
  • ❌ Like frequent trading

Manual Trader Suggestions​

If you're a manual trader, can borrow this strategy's approach:

  1. Wait for RSI to rebound from below 30
  2. Confirm price at Bollinger Band lower band
  3. Check TEMA direction upward
  4. Volume has surge
  5. Buy only when all 4 conditions met

But remember to set your own stoploss and take-profit, don't really "buy only no sell"! 😄


13. ⚠️ Risk Reminder (Must Read This Section)​

Backtest Looks Great, Live Trading Needs Caution​

BuyOnly looks simple and beautiful — but simple doesn't mean safe!

This strategy's core risks: counter-trend entry, passive exit.

Simply put: You think you're buying the bottom, actually might be catching a falling knife. 🗡️

Hidden Risks of Complex Strategies​

Even such a simple strategy has live trading risks:

  • Too few signals: 4 conditions met simultaneously may rarely happen, you'll wonder if strategy is broken
  • Stoploss too big: 10% stoploss maybe okay in crypto, but disaster in other markets
  • No exit logic: Rose 20% then dropped back to 2%, you regret or not?
  • Doesn't distinguish trend: Bottom-fishing in downtrend, catch halfway down

My Suggestions (Real Talk)​

1. Don't use in downtrend! Wait for trend upward first
2. Stoploss can be smaller, like 5%
3. Take-profit target can be higher, don't sell too early
4. Paper trade for a month first, see signal frequency
5. Small capital test, add position after confirming stability

Remember: No matter how simple the strategy, the market will teach you lessons. The premise of HODL is you bought at a good position, can't lie flat anytime!

Final Final​

BuyOnly is good learning material, but not necessarily a good money-making tool.

Treat it as strategy development starting point, not endpoint. On this foundation:

  • Add trend filtering (like EMA slope)
  • Add exit logic (like RSI overbought)
  • Adjust stoploss/take-profit parameters
  • Add more protection mechanisms

Then you'll have your own strategy! 🚀


Final Reminder: No matter how good the strategy, the market won't say hello when teaching you a lesson. Light position test, staying alive is most important! 🙏