Esta estrategia identifica los fondos a corto plazo al detectar un volumen sobrante en una tendencia a la baja, y toma posiciones largas durante condiciones de sobreventa.
Cuando el volumen excede 2 desviaciones estándar por encima del volumen promedio basado en la SMA, se considera volumen pendiente. Mientras tanto, el RSI por debajo de 30 indica el estado de sobreventa. Cuando se cumplen ambas condiciones, se juzga como un fondo a corto plazo y se toma inmediatamente una posición larga. La posición se cerrará después de un cierto período de tiempo (por ejemplo, 10 bares).
Así que la lógica de esta estrategia es simple:
Las ventajas de esta estrategia incluyen:
En resumen, esta estrategia aprovecha las rupturas de volumen para detectar inversiones de tendencia, controlando estrictamente los riesgos.
Los principales riesgos de esta estrategia incluyen:
Para hacer frente a estos riesgos, la optimización puede realizarse en los siguientes aspectos:
Esta estrategia puede optimizarse aún más en los siguientes aspectos:
Mediante la introducción de técnicas más avanzadas, se puede lograr una mejora significativa en la estabilidad, la relación alfa y Sharpe.
En resumen, esta es una estrategia de ruptura a corto plazo muy simple, directa y lógica. Al aprovechar adecuadamente el volumen para detectar inversiones de tendencia y controlar estrictamente los riesgos, se puede lograr un rendimiento sólido. Pero existen riesgos de señales falsas y robustez de parámetros. Estos pueden abordarse gradualmente introduciendo técnicas más avanzadas para mejorar aún más la estrategia.
/*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)