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.
The strategy is based on the following entry and exit conditions:
Entry conditions:
Exit conditions:
This allows buying on dips and selling at highs during bounces, catching bottom rebound opportunities.
The strategy has the following advantages:
The strategy also has the following risks:
Parameters can be optimized, or other indicators combined to determine market structure.
The strategy can be improved in the following ways:
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.
/*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%)