
La estrategia se basa en el trazado de dos líneas de precios máximos y mínimos de la línea diaria como base para el juicio de la diferencia. Cuando el precio cruza la línea de precios más alta, haga más; cuando el precio cruza la línea de precios más baja, haga menos. Se puede hacer un cambio automático de diferencia.
La estrategia utiliza principalmente los puntos centrales de la línea de sol para determinar el exceso de espacio. Los puntos centrales de la línea de sol son los precios más altos y más bajos de ayer. Estas dos líneas constituyen un intervalo de negociación, y si el precio de hoy supera cualquiera de estos dos puntos, se puede determinar que la tendencia se ha invertido.
En concreto, la lógica principal de la estrategia es la siguiente:
De esta manera, se captura la tendencia a través de las rupturas entre los precios más altos y más bajos, lo que permite un cambio automático de espacio.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
En cuanto a los riesgos, podemos optimizar en los siguientes aspectos:
La estrategia tiene espacio para ser optimizada aún más:
En general, la estrategia se basa en una simple idea de eje de línea de sol, que permite la conmutación automática de múltiples espacios. La lógica de la estrategia es clara y fácil de entender, y la optimización puede mejorar aún más la estabilidad. Los inversores pueden elegir los parámetros adecuados para las operaciones de disco físico de acuerdo con sus propias preferencias de riesgo.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=3
strategy(title = "Noro's DEX Strategy", shorttitle = "DEX str", 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(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
showlines = input(true, title = "Show lines")
showbg = input(false, title = "Show background")
showday = input(false, title = "Show new day")
fromyear = input(1900, defval = 1900, 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")
//New day trand
bar = close > open ? 1 : close < open ? -1 : 0
newday = request.security(syminfo.tickerid, 'D', time)
//Lines
uplevel = request.security(syminfo.tickerid, 'D', high)
dnlevel = request.security(syminfo.tickerid, 'D', low)
upcolor = uplevel == uplevel[1] and showlines ? lime : na
dncolor = dnlevel == dnlevel[1] and showlines? red : na
plot(uplevel, offset = 1, linewidth = 2, color = upcolor)
plot(dnlevel, offset = 1, linewidth = 2, color = dncolor)
//Background
size = strategy.position_size
col = time == newday + 86400000 and showday ? blue : showbg and size > 0 ? lime : showbg and size < 0 ? red : na
bgcolor(col)
//Orders
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
truetime = true
if uplevel > 0 and dnlevel > 0
strategy.entry("Long", strategy.long, needlong ? lot : 0, stop = uplevel, when = truetime)
strategy.entry("Close", strategy.short, needshort ? lot : 0, stop = dnlevel, when = truetime)