
Esta estrategia es una estrategia de inversión de dos vías basada en el canal de precios, el Brinband y el RSI rápido. Combina la identificación de tendencias en el indicador de canal, el Brinband para identificar la resistencia de soporte y el RSI rápido para determinar las señales de sobreventa y sobreventa para lograr una inversión de inversión eficiente.
La estrategia se basa principalmente en los siguientes indicadores para tomar decisiones comerciales:
Canal de precios: Calcula el precio más alto y el precio más bajo en un período determinado, y traza el eje central del canal. Se genera una señal de negociación cuando el precio rompe el canal.
La banda de Brin: el eje central es el eje central del canal de precios, que se construye de manera ascendente y descendente mediante el cálculo de la diferencia estándar de desviación entre el precio y el eje central. Se genera una señal de negociación cuando el precio interactúa con la banda de Brin.
RSI rápido ((ciclo 2): para juzgar el exceso de compra y venta de los precios, el RSI es más bajo que 5 y más alto que 95.
Indicador CryptoBottom: determina si el precio se desplomará del soporte y tiene una alta probabilidad de alcanzarlo junto con el RSI rápido.
La lógica de negociación central de la estrategia consiste en hacer un shorting basado en el canal de ruptura del precio, el tiempo de la banda de Brin y el tiempo de la RSI de sobrecompra y sobreventa.
La estrategia tiene las siguientes ventajas:
Sistema de dos vías, para mejorar la precisión de la señal. El canal de precios para determinar la tendencia general, la banda de Brin para identificar con precisión el punto de resistencia de soporte, ambos combinados para mejorar la calidad de la señal.
El indicador RSI rápido determina el exceso de compra y venta, aprovecha el momento de la reversión. El parámetro RSI es 2, puede determinar rápidamente el punto de reversión.
CryptoBottom acelera la determinación de señales de múltiples cabezas. Determina rápidamente las características del fondo cuando cae por debajo de los niveles de soporte para evitar la pérdida de señales de múltiples cabezas.
La configuración de los parámetros de la estrategia es razonable y fácil de optimizar. La combinación de parámetros es simple y clara para la optimización de parámetros.
La estrategia también tiene sus riesgos:
Los parámetros de la banda de Bryn están mal configurados, lo que puede hacer que se pierda un evento mayor o que se produzca una señal falsa.
Los modelos de interacción de dos vías son complejos y requieren un cierto acumular de conocimientos técnicos para juzgar correctamente.
El riesgo de un fracaso de la reversión sigue existiendo, y la probabilidad de que el mercado vuelva a retroceder no se puede evitar por completo.
Dificultad para optimizar los parámetros, los parámetros óptimos pueden fallar debido a cambios en el entorno del mercado.
La estrategia puede ser optimizada en las siguientes direcciones:
Optimización de los parámetros de la banda de Brin, para que las vías ascendentes y descendentes estén más cerca de los precios, mejorando la precisión de la señal.
Incrementar las estrategias de stop loss, para evitar pérdidas cuando se alcanza una cierta proporción de pérdidas y controlar el riesgo de manera efectiva.
Combinando más indicadores para juzgar tendencias, apoyar la resistencia y reducir las falsas señales.
Aumentar los algoritmos de aprendizaje automático para optimizar los parámetros de manera que puedan responder a los cambios en el entorno del mercado.
Esta estrategia integra el canal de precios, la banda de Brin y el indicador RSI rápido para construir un sistema de comercio de reversión de dos vías. Al mismo tiempo que se juzga la tendencia general, se capta rápidamente la resistencia de soporte y la venta de oportunidades de sobreventa. La configuración de los parámetros es simple, directa, fácil de entender y optimizar.
/*backtest
start: 2022-12-18 00:00:00
end: 2023-11-30 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Strategy v1.3", shorttitle = "NoroBands str 1.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use ColorBar")
usecb = input(true, "Use CryptoBottom")
usersi = input(true, "Use RSI")
needbb = input(false, defval = false, title = "Show Bands")
needbg = input(false, defval = false, title = "Show Background")
src = close
//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]
//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)
//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom
//dn2 = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //CryptoBottom
up3 = fastrsi < 5 ? 1 : 0
//dn3 = fastrsi > 99 ? 1 : 0
longCondition = up == 1 or (up2 == 1 and usecb == true) or (up3 == 1 and usersi == true)
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
shortCondition = dn == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)