This strategy uses a T3 moving average and its channels to identify trend direction, generating signals when price breaks the channel lines.
The trading logic is:
Plot a T3 MA as the middle line
Calculate the channel range around the MA as upper and lower bands
Go long when price breaks above the upper band
Go short when price breaks below the lower band
Background color changes indicate trend shifts
The T3 MA has less lag and reacts faster to breakouts. The strategy also uses background color to aid long term trend judgement, combining factors for robust signals.
T3 MA has less lag and faster reaction
Clear trade signals from channel breakouts
Background color avoids bad trades against the trend
Requires iterative testing to find optimal parameters
Breakout trades prone to traps need caution
Frequent signals, consider wider breakouts
This strategy capitalizes on the T3 MA’s sensitivity by trading channel breakouts, with background color indicating the long-term trend. Parameter optimization can achieve a balance between efficiency and stability. But over-trading risks require prudence.
/*backtest start: 2022-09-07 00:00:00 end: 2023-04-15 00:00:00 period: 4d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Trader_7ye //@version=4 strategy(title="T3MA_KC_7ye Strategy", shorttitle="T3MA_KC_7ye Strategy",max_bars_back=500,overlay=true,default_qty_type=strategy.percent_of_equity,default_qty_value=100,initial_capital=5000,currency=currency.USD) t3(src,len)=> xe1 = ema(src, len) xe2 = ema(xe1, len) xe3 = ema(xe2, len) xe4 = ema(xe3, len) xe5 = ema(xe4, len) xe6 = ema(xe5, len) 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 c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3 Length = input(title="DTMA Lenth", type=input.integer, defval=24, minval=1) xPrice = input(title="DTMA Source", type=input.source, defval=close) T3ma=t3(xPrice,Length) upCol = T3ma > T3ma[1] downCol = T3ma < T3ma[1] range= high - low rangema=t3(range,Length) upper = T3ma + rangema lower = T3ma - rangema myColor = upCol ? color.lime : downCol ? color.red : na plot(T3ma, color=myColor, title="T3 Slow") c = color.blue u = plot(upper, color=#0094FF, title="Upper") l = plot(lower, color=#0094FF, title="Lower") fill(u, l, color=#0094FF, transp=95, title="Background") buySignal = upCol and ohlc4>upper sellSignal= downCol and ohlc4<lower //=======输出======= //多空颜色判断 direction=0 direction:=buySignal?1:sellSignal?-1:direction[1] macolor=direction==1?color.green:color.red //多信号处理为一个信号 alertlong = direction!=direction[1] and direction== 1 alertshort= direction!=direction[1] and direction==-1 bgcolor(alertshort ? color.red : alertlong?color.lime:na, transp=20) if (alertlong) strategy.entry("Long", strategy.long) if (alertshort) strategy.entry("Short",strategy.short)