La estrategia combina el indicador ATR y la línea media T3 para juzgar y seguir la tendencia. La ATR permite dividir los canales de precios y determinar la dirección de la tendencia general. La línea media T3 determina la posición de entrada y la salida de la parada.
El indicador ATR construye un canal de precios, y la dirección del canal determina la dirección de la tendencia principal.
La línea media T3 ayuda a determinar el punto de entrada específico, y la compra se hace más cuando el precio rompe la línea media T3.
El precio se detiene en la posición de equilibrio cuando se rompe la línea descendente; el precio se detiene en la posición de equilibrio cuando se rompe la línea superior.
Se puede optar por hacer transacciones solo de forma múltiple o bidireccional.
Optimización de los parámetros combinados con las propiedades del indicador para encontrar la combinación óptima.
El canal ATR está dividido con claridad, y las tendencias son muy precisas.
Los parámetros de la línea media T3 son ajustables, lo que permite una mayor flexibilidad para capturar diferentes niveles de tendencia.
Las reglas para detener el deterioro son muy consistentes y evitan vcfkkmr arbitrario.
La frecuencia de las transacciones es baja y es adecuada para mantener posiciones largas.
Los indicadores pueden ser discrepantes, lo que puede conducir a una mala negociación.
No tiene en cuenta las características de la volatilidad de las acciones individuales, el riesgo de detención de parámetros.
La baja frecuencia de transacciones hace que sea fácil perder oportunidades y el margen de ganancias es limitado.
El riesgo de deslizamiento de cola con la posesión de una posición pesada.
Añadir otros indicadores para asegurar la efectividad de las transacciones.
Optimización de los parámetros de las diferentes variedades para mejorar la adaptabilidad.
Optimizar el tamaño de las posiciones, equilibrar la frecuencia y el riesgo.
Considerar el movimiento dinámico de los puntos de parada de pérdidas para ampliar el espacio de ganancias.
A nivel estratégico se añade FILTER para mejorar la estabilidad.
La estrategia integra ATR y T3 para un seguimiento de tendencias simple y eficaz. Sin embargo, se necesita mejorar aún más la lógica de los indicadores y la optimización de los parámetros para reducir la probabilidad de error y adaptar la estrategia a las condiciones reales.
/*backtest
start: 2023-09-09 00:00:00
end: 2023-09-16 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Author - CryptoJoncis
strategy("ATR and T3 strategy", shorttitle="AT3S_CryptoJoncis", overlay=true)
shorting = input(false, title="shorts on?")
precentage_diff = input(5,title="Precantage")/100
Lengthx = input(25, title="Lenght of T3")
//For best results use 0.7 or 0.618
Vfactx = input(0.72, minval=0.01,step=0.01, title="Volume Factor of T3 with HA source")
Source_of_T3_Normal = close
Source_of_T3 = Source_of_T3_Normal
FirstEMAx = ema(Source_of_T3, Lengthx)
SecondEMAx = ema(FirstEMAx, Lengthx)
ThirdEMAx = ema(SecondEMAx, Lengthx)
FourthEMAx = ema(ThirdEMAx, Lengthx)
FifthEMAx = ema(FourthEMAx, Lengthx)
SixthEMAx = ema(FifthEMAx, Lengthx)
//Doing all the calculations which are from
c1x = -Vfactx*Vfactx*Vfactx
c2x = 3*Vfactx*Vfactx + 3*Vfactx*Vfactx*Vfactx
c3x = -6*Vfactx*Vfactx -3*Vfactx -3*Vfactx*Vfactx*Vfactx
c4x = 1 + 3*Vfactx + Vfactx*Vfactx*Vfactx + 3*Vfactx*Vfactx
//Assigning EMAS to T3 Moving average
T3MAx = c1x * SixthEMAx + c2x * FifthEMAx + c3x * FourthEMAx + c4x * ThirdEMAx
color_of_Tilson_Moving_Average = T3MAx > T3MAx[1] ? lime : red
plot(T3MAx, title="Tilson Moving Average(ema)", color=color_of_Tilson_Moving_Average)
t_up = T3MAx + (T3MAx * precentage_diff)
t_dn = T3MAx - (T3MAx * precentage_diff)
x=plot(t_up, color=color_of_Tilson_Moving_Average)
z=plot(t_dn, color=color_of_Tilson_Moving_Average)
fill(x,z, color= T3MAx[1] < T3MAx ? lime : gray)
Factor=input(5, minval=1)
Pd=input(5, minval=1)
//
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
linecolor = Trend == 1 ? green : red
//
b=plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "")
Factor1=input(1, minval=1)
Pd1=input(1, minval=1)
//
Up1=hl2-(Factor1*atr(Pd1))
Dn1=hl2+(Factor1*atr(Pd1))
TrendUp1=close[1]>TrendUp1[1]? max(Up1,TrendUp1[1]) : Up1
TrendDown1=close[1]<TrendDown1[1]? min(Dn1,TrendDown1[1]) : Dn1
Trend1 = close > TrendDown1[1] ? 1: close< TrendUp1[1]? -1: nz(Trend1[1],1)
Tsl1 = Trend1==1? TrendUp1: TrendDown1
linecolor1 = Trend1 == 1 ? green : red
//
a=plot(Tsl1, color = linecolor1 , style = line , linewidth = 2,title = "")
long = (close > Tsl and close > Tsl1 and close > T3MAx)
short = (close < Tsl and close < Tsl1 and close < T3MAx)
if(shorting==true)
strategy.entry("MacdSE", strategy.short, comment="Open Short", when=short)
strategy.entry("MacdLE", strategy.long, comment="Open Long", when=long)
strategy.close("MacdLE", when=hl2 < t_dn)
strategy.close("MacdSE", when=hl2 > t_up)
if(shorting==false)
strategy.entry("MacdLE", strategy.long, comment="Open Long", when=long)
strategy.close("MacdLE", when=hl2 < t_dn)
fill(a,b,color=linecolor)