该策略通过在下跌趋势中判断突出的交易量定位短期底部,在超卖条件下进行买入操作,属于积极的短线交易策略。
当交易量超过基于SMA的平均量2倍标准差时认为是突出交易量,同时RSI低于30时认为是超卖状态。当两者条件同时满足时,判断为短期底部并立即做多。做多后一定时间后(如10根K线)会平仓离场。
所以该策略的逻辑只有下面几步:
该策略具有以下优势:
总的来说,策略充分利用了量能突破判断短期趋势反转的特点,同时严格控制了风险,是一种可靠性较高的积极做多策略。
该策略主要存在以下风险:
针对以上风险,可以从以下几个方面进行优化:
该策略可以从以下几个方面进行进一步优化:
通过引入更多先进的技术指标、机器学习和情绪面分析,可以显著提高策略的稳定性、阿尔法和 Sharpe 比率。
该策略整体来说是一个非常简单直接、逻辑清晰的短线突破策略。通过合理应用交易量指标判断短期趋势反转点,同时严格控制风险,可以获得不错的效果。但是仍然存在一定的假信号风险和参数健壮性风险。这些问题都可以通过引入更多先进技术进行逐步改进和优化,使策略的效果更加显著。
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 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/
// © footlz
//@version=4
strategy("Bottom catch strategy", overlay=true)
v_len = input(20, title="Volume SMA Length")
mult = input(2)
rsi_len = input(20, title="RSI Length")
oversold = input(30, title="Oversold")
close_time = input(10, title="Close After")
v = volume
basis = sma(v, v_len)
dev = mult * stdev(v, v_len)
upper_volume = basis + dev
rsi = rsi(close, rsi_len)
long = v > upper_volume and rsi < oversold
strategy.entry("Long", true, when=long)
passed_time = 0.0
if strategy.position_size != 0
passed_time := 1
else
passed_time := 0
if strategy.position_size != 0 and strategy.position_size[1] != 0
passed_time := passed_time[1] + 1
if passed_time >= close_time
strategy.close_all()
// If want to enable plot, change overlay=false.
v_color = close >= close[1] ? color.new(#3eb370, 0) : color.new(#e9546b, 0)
// plot(v, title="volume", color=v_color, style=plot.style_columns)
// plot(upper_volume, title="Threshold", color=color.aqua)