Strategy vault / Mean reversion
Bottom Catching Strategy
This strategy utilizes the RSI and EMA indicators to determine entries and exits. It performs well in bear markets and can catch bottom rebound opportunities.

Overview
This strategy utilizes the RSI and EMA indicators to determine entries and exits. It performs well in bear markets and can catch bottom rebound opportunities.
Strategy Logic
The strategy is based on the following entry and exit conditions:
Entry conditions:
- RSI < 40
- RSI is 3 points lower than previous day
- 50-day EMA crosses below 100-day EMA
Exit conditions:
- RSI > 65
- 9-day EMA crosses above 50-day EMA
This allows buying on dips and selling at highs during bounces, catching bottom rebound opportunities.
Advantage Analysis
The strategy has the following advantages:
- Utilize RSI to catch oversold opportunities
- EMA patterns to spot trend change points
- Good backtesting results, especially resilience in bear markets
- Configurable parameters to adjust strategy
Risk Analysis
The strategy also has the following risks:
- Improper parameter tuning may cause premature entries or delayed exits
- Rebounds may not materialize or sustain
- Trading fees and slippage also affect actual profit
Parameters can be optimized, or other indicators combined to determine market structure.
Optimization Directions
The strategy can be improved in the following ways:
- Test parameter combinations separately for different coins
- Incorporate volume changes to confirm signals
- Add stop loss to limit single trade loss
- Consider dynamic position sizing
Conclusion
The bottom catching strategy has clear logic and works well in bear markets. More parameter tuning and optimizations can lead to better backtest results. But risks need to be monitored in live trading, and losses cannot be entirely avoided.
Parameters
| Name | Default | What it controls |
|---|---|---|
| v_input_1 | true | Show Date Range |
| v_input_2 | 14 | length |
Source Pine Script
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule
//@version=5
strategy("V3 - Catching the Bottom",
overlay=true)
showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 4, 1, 0, 0)
notInTrade = strategy.position_size <= 0
//==================================Buy Conditions============================================
//RSI
length = input(14)
vrsi = ta.rsi(close, length)
buyCondition1 = vrsi < 40
//RSI decrease
decrease = 3
buyCondition2 = (vrsi < vrsi[1] - decrease)
//sellCondition1 = request.security(syminfo.tickerid, "15", buyCondition2)
//EMAs
fastEMA = ta.sma(close, 50)
slowEMA = ta.sma(close, 100)
buyCondition3 = ta.crossunder(fastEMA, slowEMA)
//buyCondition2 = request.security(syminfo.tickerid, "15", buyCondition3)
if(buyCondition1 and buyCondition2 and buyCondition3 and timePeriod)
strategy.entry(id='Long', direction = strategy.long)
//==================================Sell Conditions============================================
sellCondition1 = vrsi > 65
EMA9 = ta.sma(close, 9)
EMA50 = ta.sma(close, 50)
sellCondition2 = ta.crossover(EMA9, EMA50)
if(sellCondition1 and sellCondition2 and timePeriod)
strategy.close(id='Long')
//Best on: ETH 5mins (7.59%), BNB 5mins (5.42%), MATIC 30mins (15.61%), XRP 45mins (10.14%) ---> EMA
//Best on: MATIC 2h (16.09%), XRP 15m (5.25%), SOL 15m (4.28%), AVAX 5m (3.19%)
Published by ChaoZhang on the FMZ strategy square · last modified 2023-11-22. Collected in the Quant Trading Vault. Unvalidated research: re-test with your own data and costs before trusting it.
Build this with AgenKit
A spec is not a trading system. Paste this into your coding agent and AgenKit runs a specialist team — architecture, test-first build, risk gates, review — with paper trading on by default.
/agenkit build a production-grade trading bot with a backtest engine, risk controls and paper trading by default from strategies/Bottom-Catching-Strategy.md- npx agenkit install engineering-kit in your project
- Paste the command into your agent and approve each phase
- Get tests, backtest, risk controls and a paper-trading switch
Understand it first
Before you run this, read the lesson behind the idea and how to backtest it honestly. Specs like this one are the survivors of an unknown number of trials; deflate their results accordingly.
Related specs
- Advanced 15 Minute Chart Trading Signal StrategyPine Script · Mean reversion · 3h
- Advanced Momentum EMA Trend Following with RSI Overbought Oversold Trading StrategyPine Script · Mean reversion · 1d
- Advanced Quantitative Trading Strategy Combining RSI Divergence and Moving AveragesPine Script · Mean reversion · 1h
- BONK Multi Factor Trading StrategyPine Script · Mean reversion · 1d
- Customizable Non Repainting HTF MACD MFI Scalable Bot StrategyPine Script · Mean reversion · 1d
- Dual Moving Average Crossover with RSI Overbought Oversold Pyramid Dynamic Trend Trading StrategyPine Script · Mean reversion · 2h