
La estrategia es una estrategia de comercio cuantitativa que utiliza una combinación de bandas de Brin y líneas medias para juzgar y entrar en tendencias. Combina la capacidad de reconocimiento de tendencias de las bandas de Brin y el efecto de fluctuación de las medias móviles para identificar eficazmente la dirección de la tendencia del mercado y entrar en la tendencia.
Los precios máximos y mínimos se utilizan para calcular el canal de la banda de Brin y determinar la dirección de la tendencia del mercado.
Cálculo del tamaño de la entidad solar para determinar señales de parada y reversión
Una vez confirmada la dirección de la tendencia, se realiza la entrada en la dirección del canal
El uso de medias móviles para filtrar y evitar falsas señales
La banda de Brin permite determinar con claridad el canal de precios y la dirección de la tendencia, y las medias móviles filtran las ondas. La combinación de ambos permite identificar con eficacia las tendencias, evitar el impacto de los eventos inesperados del mercado y garantizar la estabilidad del sistema.
Mediante el cálculo del promedio del tamaño de las entidades de la línea de sol en un determinado período, comparado con el tamaño de las entidades del ciclo actual, se puede determinar con claridad la reversión de la tendencia, realizar un stop loss y una reducción de la posición, lo que permite controlar eficazmente el riesgo de la estrategia.
La estrategia de entrada en condiciones de movimiento de la media y la dirección de la vía, y el uso de la regla de tamaño de la entidad de la línea de sol para el cierre de pérdidas, para que el sistema entero de entrada y las reglas de parada muy clara sistematizada.
En situaciones de crisis, los precios pueden tocar el tren de descenso en varias ocasiones y causar pequeñas pérdidas repetidas. En este momento, se debe reducir el tamaño de la posición y reducir las pérdidas individuales.
En una tendencia fuerte, una corrección de corto plazo en los precios puede provocar que se ejecute la regla de stop loss, en cuyo caso se debe relajar adecuadamente el margen de stop loss para seguir la tendencia.
Los parámetros de las medias móviles y de las bandas de Brin no están configurados correctamente, lo que puede ocasionar señales de identificación errónea. Los parámetros deben optimizarse adecuadamente para que la señal sea estable y fiable.
Ajuste los parámetros de las medias móviles para reducir la suavidad y detectar los cambios de tendencia más rápidamente.
Prueba diferentes reglas de pérdidas, como pérdidas de seguimiento, pérdidas de ATR, etc., para elegir la mejor opción de pérdidas.
El modelo de entrenamiento basado en una gran cantidad de datos históricos ayuda a determinar tendencias y emitir señales de negociación.
La estrategia tiene en cuenta el juicio de tendencias y el control de riesgos, utiliza el canal de la banda de Brin y las medias móviles para identificar tendencias, al mismo tiempo que se detiene con el tamaño de la entidad de la línea de sol. La estrategia es sistemática, las reglas cuantitativas son claras y pueden controlar eficazmente el riesgo para obtener ganancias excedentarias. La estrategia se mejora continuamente a través de la optimización de parámetros y la combinación de aprendizaje automático, por ejemplo, para que la estrategia sea más estable y fiable.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Scalper Strategy v1.3", shorttitle = "Scalper 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")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close
//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd1 = center + distsma / 2
ld1 = center - distsma / 2
//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 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)
//Body
body = abs(close - open)
smabody = ema(body, 30)
candle = high - low
//Engulfing
min = min(open, close)
max = max(open, close)
bar = close > open ? 1 : close < open ? -1 : 0
upeng = bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1] ? 1 : 0
dneng = bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1] ? 1 : 0
//Signals
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0
if up7 == 1 or up8 == 1
strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)
if dn7 == 1 or dn8 == 1
strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)