
Esta estrategia se llama estrategia de comercio de trill de trill multi-temporal basado en el impulso promedio de la trayectoria. Su idea principal es construir una señal de comercio basada en el impulso promedio entre la trill y el precio mediante la introducción de una partícula que se ajuste a la trayectoria del precio.
La estrategia comienza por definir una partícula que se ajusta a la trayectoria de los precios. La partícula está influenciada por la gravedad y la inercia, y su trayectoria de movimiento oscila alrededor de los precios. Luego se calcula la distancia de desviación promedio entre la partícula y el precio y se construye una trayectoria ascendente y descendente.
Concretamente, la fórmula de la posición de la partícula definida en la estrategia es:
pos:=if pos<close
nz(pos[1])+grav+traj
else
nz(pos[1])-(grav)+traj
Aquí mismo.gravEl punto de gravedad, que hace que las partículas se acerquen al precio;trajRepresentan los elementos inerciales que mantienen la tendencia de movimiento de las partículas. Estas dos combinaciones hacen que las partículas oscilen alrededor del precio.
Y luego se calcula la distancia media entre el precio y las partículas.avgdistEl objetivo es construir una vía ascendente y descendente:
bbl=pos-sma(avgdist,varb)
bbh=pos+sma(avgdist,varb)
Por último, cuando el precio es mayor que el de la vía, hay que hacer más, y cuando es menor que el de la vía, hay que hacer menos.
En comparación con las estrategias tradicionales de medias móviles, esta estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Las medidas de gestión de riesgos correspondientes incluyen: optimización de los parámetros para reducir las señales falsas, definición de un marco de tiempo claro para elegir las reglas, la configuración de la posición de parada adecuada, etc.
Esta estrategia puede ser optimizada en los siguientes aspectos:
Esta estrategia mejora la estrategia de las medias móviles mediante la introducción de la adaptación de la trayectoria de los precios, con características como la adaptación de los parámetros, el marco de tiempo múltiple y la optimización de la pérdida. La clave está en encontrar las ecuaciones de movimiento de partículas adecuadas para simular los precios. Aunque aún se necesita más prueba y optimización, las ideas básicas son viables y merecen un estudio adicional.
/*backtest
start: 2022-11-17 00:00:00
end: 2023-11-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//2 revert
strategy("Jomy's Gyroscopic Bands",precision=8,commission_value=.03,overlay=true,initial_capital =10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)//,calc_on_order_fills= true, calc_on_every_tick=false)
leverage=input(1,"leverage")
a=0
a:= if volume > -1
nz(a[1])+1
else
nz(a)
vara=input(4.0,"variable a (10 to the power of __ ",step=.5)
vara:=pow(10,vara)
varb=input(12,"variable b")
pos=0.0
pos:=if a<=5
close
else
nz(pos[1])
grav=1/sqrt((close*close))*vara
traj=0.0
traj:=(nz(close[1])-nz(close[2])+nz(traj[1])*varb)/(varb+1)
pos:=if pos<close
nz(pos[1])+grav+traj
else
nz(pos[1])-(grav)+traj
plot(pos,color=color.white)
plot(close)
avgdist=abs(close-pos)
bbl=pos-sma(avgdist,varb)
bbh=pos+sma(avgdist,varb)
plbbh=plot(bbh,color=color.red)
plbbl=plot(bbl,color=color.red)
long = close>pos
short = close<pos
fill(plbbh,plbbl,color=long?color.lime:color.red)
//bgcolor(close>bbh?color.lime:close<bbl?color.red:na,transp=90)
strategy.entry("Long1",strategy.long,when=long,qty=(strategy.equity*leverage/open))
strategy.close("Long1",when=not long)
strategy.entry("Short1",strategy.short,when=short,qty=(strategy.equity*leverage/open))
strategy.close("Short1",when=not short)
//plot(strategy.equity,color=color.lime,linewidth=4)