
该策略利用RSI和EMA指标来决定入场和退出。它在熊市中表现良好,可以捕捉底部反弹机会。
该策略基于以下买入和卖出条件:
买入条件: 1. RSI < 40 2. RSI 比昨日下降3点 3. 50日EMA下穿100日EMA
卖出条件:
1. RSI > 65
2. 9日EMA上穿50日EMA
这样可以在跌势中买入,在反弹中高位卖出,捕捉底部反弹机会。
该策略具有以下优势:
该策略也存在以下风险:
可通过调整参数优化策略,或结合其他指标判断多空格局。
该策略可以从以下方向进行优化:
该捕捉底部策略整体来说逻辑清晰,在熊市中能较好发挥作用。通过参数调整和优化空间还大,可望获得更好回测指标。但实盘过程中也需要关注风险,无法完全规避亏损情况。
/*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%)