Стратегия скользящей средней ATR и T3


Дата создания: 2023-09-17 18:30:48 Последнее изменение: 2023-09-17 18:30:48
Копировать: 0 Количество просмотров: 818
1
Подписаться
1617
Подписчики

Обзор

Эта стратегия в сочетании с показателем ATR и средней линией T3 используется для определения и отслеживания тенденций. ATR реализует разделение ценовых каналов, чтобы определить направление тенденции.

Стратегический принцип

  1. ATR-индикатор строит ценовые каналы, направление каналов определяет направление основных тенденций.

  2. Средняя линия T3 помогает определить конкретную точку входа, покупать больше, когда цена пробивает среднюю линию T3.

  3. Стоп-полизион, когда цена падает вниз; стоп-полизион, когда цена поднимается вверх.

  4. Вы можете выбрать между двусторонней и многосторонней торговлей.

  5. Оптимизация параметров в сочетании с характеристиками показателя, чтобы найти оптимальное сочетание.

Анализ преимуществ

  1. ATR-каналы четко разграничены, а тенденции точно определены.

  2. Средняя линия T3 имеет регулируемые параметры, позволяющие гибко улавливать тенденции различных уровней.

  3. Высокая согласованность правил сдерживания повреждений, избегайте произвольного vcfkkmr。

  4. Низкая частота торговли, подходящая для длинных позиций.

Анализ рисков

  1. Показатели могут отличаться друг от друга, что приводит к ошибочным сделкам.

  2. Не учитываются особенности колебаний акций, риск задержки параметров.

  3. Небольшая частота сделок может привести к потере возможностей и ограничить возможности для получения прибыли.

  4. Риск проскальзывания хвоста, связанный с тяжелой позицией.

Направление оптимизации

  1. Добавить другие показатели, чтобы обеспечить эффективность сделки.

  2. Оптимизация параметров для различных сортов, повышение адаптации.

  3. Оптимизация размеров позиций, балансировка частоты и риска.

  4. Рассмотреть возможность динамического перемещения стоп-стоп для увеличения прибыли.

  5. Повышение уровня FILTER на стратегическом уровне повышает стабильность.

Подвести итог

Стратегия объединяет ATR и T3 Average Line для простого и эффективного отслеживания тенденций. Однако требуется дальнейшее усовершенствование логики индикатора и оптимизация параметров, снижение вероятности ошибочного суждения, чтобы стратегия была более адаптирована к реальным условиям.

Исходный код стратегии
/*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)