A estratégia combina o indicador ATR e a linha média T3 para julgar e acompanhar a tendência. A ATR realiza a divisão de canais de preço e determina a direção da grande tendência. A linha média T3 determina o posicionamento de entrada e a saída de parada. A estratégia é adequada para seguidores de tendências que buscam um lucro estável.
O indicador ATR constrói um canal de preços, e a direção do canal determina a direção da tendência dominante.
A linha média T3 ajuda a determinar o ponto de entrada específico, comprando mais quando o preço quebra a linha média T3.
O preço cai abaixo da trajetória inferior e pára o equilíbrio; a alta quebra a trajetória superior e pára o equilíbrio.
Pode optar por fazer apenas transações em múltiplos ou em dois sentidos.
Parâmetros de otimização em combinação com as propriedades do indicador, procurando a melhor combinação.
O canal ATR é dividido com clareza, e as grandes tendências são avaliadas com precisão.
Os parâmetros da linha média T3 são ajustáveis, permitindo uma maior flexibilidade para capturar diferentes níveis de tendência.
A regulamentação de parada de danos é altamente consistente, evitando vcfkkmr vôo arbitrário.
A frequência de negociação é baixa, adequada para posições de longo prazo.
Os indicadores podem divergir entre si, o que pode levar a transações erradas.
Não tem em conta a volatilidade das ações individuais e o risco de detenção de parâmetros.
A baixa frequência de negociação é uma oportunidade perdida e um espaço de ganho limitado.
Risco de queda de liquidez associado à posse de uma posição pesada.
Adicionar outros critérios para garantir a eficácia das transações.
Otimização de parâmetros para diferentes variedades para melhorar a adaptabilidade.
Optimizar o tamanho das posições, equilibrar a frequência e o risco.
Considere o stop loss móvel dinâmico para expandir a margem de lucro.
A nível estratégico, acrescentar FILTER para aumentar a estabilidade.
A estratégia integra o ATR e a linha média T3 para um acompanhamento de tendências simples e eficaz. No entanto, é necessário aumentar ainda mais a lógica do indicador e a otimização dos parâmetros, reduzindo a probabilidade de erro de julgamento e tornando a estratégia mais adequada para as condições do disco real.
/*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)