
La estrategia determina la dirección de la tendencia en función de la ruptura de la resistencia de soporte a largo plazo, con la ruptura de la resistencia de soporte como momento de entrada. Utiliza una línea de inflexión para definir los puntos altos y bajos y confirma los puntos altos / bajos con 2 líneas K, por lo que hay un retraso de 2 líneas K. Calcula el diferencial SMA de los puntos altos y bajos dentro de un período determinado (default 21) como punto de resistencia de soporte auxiliar.
La estrategia utiliza la siguiente lógica para juzgar las tendencias y señales comerciales:
Utilice la línea de corte para determinar los puntos altos y bajos: de las 5 líneas K actuales, el punto bajo de la línea K de la 5a línea es inferior a la raíz 4, la raíz 4 es inferior a la raíz 3, la raíz 3 es superior a la raíz 2 y la raíz 2 es superior a la raíz 1, confirme que el punto bajo de la línea K de la 3a línea es el punto mínimo.
Calcula el número de puntos altos hn y el número de puntos bajos ln en un período determinado. Si hn>0 y ln>0, calcula el promedio hsum/hn de los puntos altos y el promedio lsum/ln de los puntos bajos en un período determinado. La diferencia entre ellos r como punto de resistencia de soporte auxiliar.
Compara el precio de cierre con la resistencia dinámica lvalr y el soporte hvalr, para determinar la dirección de la tendencia. Si el precio de cierre es superior a uno de los dos, la ruptura será efectiva.
Haga más cuando sea efectivo para romper la línea de resistencia dinámica; haga vacío cuando sea efectivo para romper la línea de soporte dinámico.
La estrategia tiene las siguientes ventajas:
El uso de la línea de corte para juzgar la resistencia de soporte es más preciso y evita errores de ruptura.
La resistencia al soporte basada en estadísticas a largo plazo tiene un valor de referencia más alto y reduce el riesgo de posición.
Introducción de soporte auxiliar de resistencia para mejorar la efectividad de la ruptura.
La lógica de la estrategia es simple, clara, fácil de entender y adecuada para el comercio cuantitativo.
Se puede personalizar el soporte de estadísticas de resistencia para diferentes ciclos y variedades.
La estrategia también tiene sus riesgos:
La línea de flexión determina que el punto de resistencia de soporte está retrasado por 2 líneas K y puede perder el punto de entrada óptimo.
Los pronósticos de soporte y resistencia son solo para referencia, y los precios aún pueden tener brechas inexplicables.
La longitud inadecuada del ciclo estadístico puede causar que la resistencia de soporte falle.
El ajuste de precios después de la ruptura puede desencadenar pérdidas.
Los precios pueden fluctuar mucho después de una baja de precios, lo que genera mayores pérdidas.
Los medios de control y optimización de riesgos correspondientes son:
Reducir adecuadamente el ciclo estadístico para reducir el retraso.
La combinación de más factores predijo un nivel de resistencia de apoyo.
Prueba de la estabilidad de los diferentes parámetros del ciclo.
Establezca un límite razonable de pérdidas.
El uso de métodos de control de posición para limitar las pérdidas individuales.
La estrategia puede ser optimizada en los siguientes aspectos:
El uso de métodos de aprendizaje automático para predecir la resistencia de soporte puede mejorar la tasa de éxito de la ruptura de la resistencia de soporte.
La efectividad de la ruptura se determina en combinación con el indicador de volumen de operaciones CONF. La participación de un gran número de contratos de posición no liquidada en la ruptura es más convincente.
Clasificación de la resistencia de soporte estadístico en función de diferentes períodos. Por ejemplo, según la línea del día, la circunferencia, etc. para mejorar la efectividad de la resistencia de soporte.
En las posiciones de ganancias, se establece una pérdida de equilibrio de pérdidas y pérdidas por parada libre. Esto permite obtener mayores ganancias al mismo tiempo que garantiza ganancias.
Combine el indicador de línea media para juzgar la tendencia y evite hacer más vacío a ciegas cuando no hay una tendencia clara.
La estrategia en general es una estrategia de seguimiento de tendencias más sólida y confiable. Tiene una mayor probabilidad de determinar correctamente la dirección de la tendencia, y tiene ciertas medidas de control de riesgo. Pero debido a la existencia de un cierto retraso, no se puede garantizar al cien por cien que cada vez que se haga un descubierto será rentable. Por lo tanto, es más adecuado para los comerciantes cuantificados experimentados en combinación con su propia estrategia.
/*backtest
start: 2023-11-25 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("SR TREND STRATEGY", shorttitle="SR TREND", overlay=true, calc_on_order_fills=true)
//based on by synapticEx SR indicator https://www.tradingview.com/script/O0F675Kv-Nebula-Advanced-Dynamic-Support-Resistance/
length = input(title="SR lookbak length", type=input.integer, defval=21)
h = bar_index>5 and high[5]<high[4] and high[4]<high[3] and high[3]>high[2] and high[2]>high[1] ? 1 : 0
l = bar_index>5 and low[5]>low[4] and low[4]>low[3] and low[3]<low[2] and low[2]<low[1] ? 1 : 0
ln = sum(l, length)
hn = sum(h, length)
hval = h>0 ? high[3] : 0
lval = l>0 ? low[3] : 0
lsum = sum(lval, length)
hsum = sum(hval, length)
r = ln>0 and hn>0 ? abs((hsum/hn) - (lsum/ln)): 0
float lvalc = na
float lvalr = na
float hvalc = na
float hvalr = na
lvalc := lval and r>0 ? lval : lvalc[1]
lvalr := lval and r>0 ? lval+r : lvalr[1]
hvalc := hval and r>0 ? hval : hvalc[1]
hvalr := hval and r>0 ? hval-r : hvalr[1]
int trend=0
trend:=close > lvalr and close > hvalr ? 1 : close < lvalr and close < hvalr ? -1 : trend[1]
strategy.close("Long", when=trend==-1)
strategy.close("Short", when=trend==1)
strategy.entry("Long", strategy.long, when=trend==1 and close>hvalc)
strategy.entry("Short", strategy.short, when=trend==-1 and close<lvalc)
int long=0
int short=0
long:= trend==1 and close>hvalc ? 1 : trend==-1 ? -1 : long[1]
short:= trend==-1 and close<lvalc ? 1 : trend==1 ? -1 : short[1]
barcolor(long>0? color.green : short>0? color.red : trend>0? color.white: trend<0 ? color.orange : color.blue)