
Эта стратегия использует функцию определения тренда на равной линии и определение перекупа и перепродажи в ленте буринга, дополненную фильтрацией колебаний на T3 для сглаживания равной линии, чтобы вовремя определить форму и войти в поле во время поворота тренда. Используйте ленту буринга для идентификации зоны перекупа и перепродажи в зонах колебаний для проведения обратных операций, чтобы осуществить сверхкороткую торговлю.
Эта стратегия использует три группы средних линий для определения тенденции и определения торговых сигналов. Первая - средняя T3, которая эффективно фильтрует колебания цен и определяет направление тенденции. Следует средняя средняя, где средняя средняя SMA длиной 20 используется для определения направления средней тенденции.
Торговые сигналы оцениваются в виде увеличения при появлении золотой форки в сочетании с восходящей тенденцией, а при появлении мертвой форки в сочетании с понижающей тенденцией - в виде убыли. Кроме того, используется буринская лента для определения ситуации, если цена пробивает вверх, то считается остановка, а если она пробивает вниз, то считается остановка.
В частности, условие перехода является средней средней линией, которая проходит среднюю T3 среднюю линию, и быстрая линия больше, чем медленная линия, после перехода, если цена прорывает Бринскую ленту на трассу или проходит Т3 среднюю линию ниже средней средней линии, считается остановка; условие пробега является средней средней линией, которая проходит Т3 среднюю линию ниже средней линии, и быстрая линия меньше, чем медленная линия, после пробега, если цена падает ниже Бринской ленты или проходит Т3 среднюю линию после средней средней линии, считается остановка.
Методы оптимизации:
В целом, стратегия использует систематическое определение тенденции с использованием равномерной линии, использует зоны перепродажи с использованием буринской полосы, может вовремя определить форму, когда тенденция переворачивается, и может эффективно контролировать риск. Однако необходимо обратить внимание на корректировку и оптимизацию параметров, чтобы действительно использовать эффективность стратегии. Стратегия может быть более гибкой и интеллектуальной, если она будет оптимизирована в дальнейшем в сочетании с показателями силы тенденции, показателями волатильности и мобильной техникой остановки убытков.
/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(shorttitle="BB T3 Strategy", title="BB T3 Strategy", overlay=true)
//T3
b = 0.7
c1 = -b*b*b
c2 = 3*b*b+3*b*b*b
c3 = -6*b*b-3*b-3*b*b*b
c4 = 1+3*b+b*b*b+3*b*b
t3(len) => c1 * ema(ema(ema(ema(ema(ema(close, len), len), len), len), len), len) + c2 * ema(ema(ema(ema(ema(close, len), len), len), len), len) + c3 * ema(ema(ema(ema(close, len), len), len), len) + c4 * ema(ema(ema(close, len), len), len)
//T3 end
length = input(20, minval=1)
mult = input(2.5, minval=0.001, maxval=50, title="StdDev")
basis = t3(length)
basisDev = t3(length/10)
dev = mult * stdev(basisDev,length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)
stoploss = input(true, "Stop Loss")
basisSma = sma(close, length)
p3 = plot(basisSma, color=color.blue, title="MA", offset=offset)
fastT3 = t3(50)
slowT3 = t3(200)
crossUp = crossover(basisSma, basis)
crossDown = crossunder(basisSma, basis)
bollBounce = crossover(close, upper)
bollReject = crossunder(close, lower)
underBasis = crossunder(close, basis)
overBasis = crossover(close, basis)
trendUp = fastT3 > slowT3
trendDown = fastT3 < slowT3
strategy.entry("long", strategy.long, when=(trendUp and crossUp), stop=(stoploss ? high+syminfo.mintick : na))
strategy.close("long", when=(bollBounce or crossDown or underBasis))
strategy.entry("short", strategy.short, when=(trendDown and crossDown), stop=(stoploss ? low-syminfo.mintick : na))
strategy.close("short", when=(bollReject or crossUp or overBasis))