
La estrategia de comercio de la línea de doble equilibrio de la dinámica es una estrategia de comercio de la línea corta que utiliza el movimiento del precio y los indicadores de tendencia al mismo tiempo. La estrategia utiliza una combinación de indicadores como el precio de cierre, el precio de apertura, el canal de precios y el RSI rápido para generar señales de comercio.
La estrategia se basa principalmente en los siguientes indicadores de evaluación:
Canal de precios: Calcule los precios más altos y más bajos de las últimas 30 líneas K para obtener el alcance del canal. Cuando el precio de cierre es superior a la línea media del canal se considera como una ganancia, y cuando el precio de cierre es inferior a la línea media del canal se considera como una pérdida.
RSI rápido: Calcula el valor RSI de 2 líneas K, RSI por debajo de 25 se considera como sobreventa y por encima de 75 se considera como sobreventa.
El juicio de la línea del sol: calcular el tamaño de la entidad de las últimas 2 líneas K. 2 líneas del sol son consideradas señales de baja y 2 líneas del sol son consideradas señales de baja.
Condiciones de stop loss: se impone el stop loss cuando se alcanza una cierta proporción de pérdidas.
De acuerdo con los indicadores de juicio anteriores, la estrategia puede dominar la tendencia, el dinamismo y la situación de sobreventa y sobreventa al mismo tiempo, generando una señal de negociación en el punto de reversión, que pertenece a la típica estrategia de negociación en línea corta.
La estrategia tiene las siguientes ventajas:
Al mismo tiempo, el uso de varios indicadores para mejorar la precisión de la señal. Un solo indicador es propenso a generar falsas señales, el uso combinado puede verificarse entre sí y filtrar algunos ruidos.
El RSI rápido es más sensible y puede capturar el punto de inflexión a tiempo. El RSI normal es fácilmente retrasado y pierde el mejor momento de entrada.
Los parámetros de la estrategia se han optimizado en varias pruebas, lo que permite una alta estabilidad. El rendimiento es fiable en diferentes variedades y períodos de tiempo.
El mecanismo automático de detención de pérdidas controla las pérdidas. No se rastrea indefinidamente, y puede reducir las pérdidas que superan las expectativas.
La estrategia también tiene algunos riesgos a tener en cuenta:
Si los parámetros de canal de precios no se establecen correctamente, pueden provocar un impacto. Si la selección de la franja de canal es demasiado pequeña, es fácil que se produzcan falsas rupturas.
El tiempo de mantenimiento de una posición unilateral puede ser demasiado largo. Cuando la tendencia es muy fuerte, el ciclo de mantenimiento de la posición supera las expectativas.
La configuración incorrecta del punto de parada también amplifica las pérdidas. Este parámetro debe ajustarse con cuidado, ya sea demasiado grande o demasiado pequeño.
Para los riesgos anteriores, se puede evitar y reducir mediante el ajuste de los parámetros de acceso, la optimización de la hora de entrada y el ajuste dinámico de los puntos de parada.
La estrategia también tiene varias direcciones de optimización:
Aumentar los algoritmos de aprendizaje automático para optimizar los parámetros. Se pueden entrenar estrategias más inteligentes y adaptables.
La combinación de más fuentes de datos, como la información de la página de noticias, mejora la toma de decisiones comerciales. Esto puede mejorar la precisión de la señal.
Desarrollar un mecanismo de gestión de posiciones dinámicas que ajuste automáticamente las posiciones según las condiciones del mercado. Esto puede controlar el riesgo.
Aumentar el arbitraje de futuros, ampliando el alcance de la estrategia. Esto puede obtener mayores ganancias absolutas.
Esta estrategia utiliza una combinación de varios medios técnicos, como brechas de precios, señales de indicadores y salidas de pérdidas. En el proceso de retroceso y en el mercado real, tiene un buen rendimiento y una alta estabilidad. Con el desarrollo de la tecnología de algoritmos y datos, la estrategia tiene un gran espacio para seguir optimizando y mejorando.
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Price Channel Strategy v1.2", shorttitle = "Price Channel str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 100000, title = "capital, %")
uset = input(true, defval = true, title = "Use trend entry")
usect = input(true, defval = true, title = "Use counter-trend entry")
usersi = input(true, defval = true, title = "Use RSI strategy")
pch = input(30, defval = 30, minval = 2, maxval = 200, title = "Price Channel Period")
showcl = input(true, defval = true, title = "Price Channel")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
src = close
//Price channel
lasthigh = highest(src, pch)
lastlow = lowest(src, pch)
center = (lasthigh + lastlow) / 2
trend = low > center ? 1 : high < center ? -1 : trend[1]
col = showcl ? blue : na
col2 = showcl ? black : na
plot(lasthigh, color = col2, linewidth = 2)
plot(lastlow, color = col2, linewidth = 2)
plot(center, color = col, linewidth = 2)
//Bars
bar = close > open ? 1 : close < open ? -1 : 0
rbars = sma(bar, 2) == -1
gbars = sma(bar, 2) == 1
//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))
//Signals
body = abs(close - open)
abody = sma(body, 10)
up1 = rbars and close > center and uset
dn1 = gbars and close < center and uset
up2 = close <= lastlow and close < open and usect
dn2 = close >= lasthigh and close > open and usect
up3 = fastrsi < 25 and close > center and usersi
dn3 = fastrsi > 75 and close < center and usersi
exit = (((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2)
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
//Trading
if up1 or up2 or up3
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn1 or dn2 or dn3
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
strategy.close_all()