Esta estrategia combina ATR y T3 promedio móvil para la determinación y seguimiento de la tendencia. ATR forma canales de precios para juzgar la dirección general de la tendencia.
ATR forma canales de precios, la dirección del canal determina la tendencia principal.
La media móvil T3 ayuda a determinar el momento de entrada específico, comprando en la línea de ruptura de precios T3.
La ruptura del precio por debajo de la banda inferior desencadena la salida de stop loss; la ruptura por encima de la banda superior lleva ganancias.
Opciones de negociación solo a largo plazo o bidireccional.
Optimización de parámetros combinada con la naturaleza del indicador para encontrar ajustes óptimos.
Los canales ATR dan una clara identificación de tendencia y dirección.
Parámetros T3 ajustables para capturar las tendencias en diferentes niveles.
Las reglas consistentes de stop loss y take profit evitan las salidas arbitrarias.
La baja frecuencia de negociación es adecuada para estrategias de tenencia a largo plazo.
La divergencia de los indicadores puede causar operaciones incorrectas.
No tener en cuenta los patrones de volatilidad de las acciones individuales es un riesgo de sobreajuste.
La baja frecuencia de las operaciones entraña riesgos de pérdida de oportunidades y potencial de ganancia limitado.
La tenencia de posiciones pesadas conlleva riesgos de deslizamiento al final del día.
Añadir otros indicadores para garantizar la validez de las operaciones.
El ajuste de parámetros para diferentes productos mejora la adaptabilidad.
Optimizar el tamaño de las posiciones para equilibrar la frecuencia y el riesgo.
Considere el stop loss dinámico y la toma de ganancias para ampliar el espacio de ganancias.
Añadir filtros a nivel de estrategia para mejorar la robustez.
La estrategia integra la media móvil ATR y T3 para un seguimiento de tendencias simple y efectivo.
/*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)