この戦略は,T3移動平均指標に基づいてトレンドフォロー取引システムを設計する.価格動向の方向性を自動的に特定し,対応するロングまたはショートポジションを取ることができます.価格が上昇するとロングになり,価格が下がるとショートになります.このシステムは逆転取引の機能も備えています.
この戦略は,価格傾向の方向性を決定するためにT3指標を使用する.T3指標は,価格変化により迅速に反応できるより高い感度を持つ適応型移動平均値である.その計算式は:
T3 (n) = GD (n)
GD は一般化DEMA (倍指数移動平均値) を表し,以下のように計算される.
GD (n,v) = EMA (n) * (1+v) -EMA (n) * v
vは,平行価格動向に対する移動平均の反応の敏感性を決定するボリューム因数である.v=0の場合,GD=EMA;v=1の場合,GD=DEMA.著者は,v=0.7を設定することを提案している.
この戦略は,T3インジケーターと価格を比較する.T3が価格を超えると,上昇傾向を決定し,ロングに行く.T3が価格を下回ると,下落傾向を決定し,ショートに行く.
これは,T3パラメータを調整したり,フィルタリングのための他の指標を追加したり,単一の損失を制御するためにストップ損失を設定することによって軽減できます.
この戦略は,手動判断の必要なく,T3インジケーターを通じて価格トレンド方向を自動的に決定し,自動的にロングまたはショートに行うことができます.また,より複雑な市場状況に対処するために逆転取引のために設定することもできます. 戦略のパフォーマンスをさらに向上させるために,パラメータ,取引論理などを最適化する余地があります.
/*backtest start: 2023-12-18 00:00:00 end: 2024-01-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.00 29/11/2017 // This indicator plots the moving average described in the January, 1998 issue // of S&C, p.57, "Smoothing Techniques for More Accurate Signals", by Tim Tillson. // This indicator plots T3 moving average presented in Figure 4 in the article. // T3 indicator is a moving average which is calculated according to formula: // T3(n) = GD(GD(GD(n))), // where GD - generalized DEMA (Double EMA) and calculating according to this: // GD(n,v) = EMA(n) * (1+v)-EMA(EMA(n)) * v, // where "v" is volume factor, which determines how hot the moving average’s response // to linear trends will be. The author advises to use v=0.7. // When v = 0, GD = EMA, and when v = 1, GD = DEMA. In between, GD is a less aggressive // version of DEMA. By using a value for v less than1, trader cure the multiple DEMA // overshoot problem but at the cost of accepting some additional phase delay. // In filter theory terminology, T3 is a six-pole nonlinear Kalman filter. Kalman // filters are ones that use the error — in this case, (time series - EMA(n)) — // to correct themselves. In the realm of technical analysis, these are called adaptive // moving averages; they track the time series more aggres-sively when it is making large // moves. Tim Tillson is a software project manager at Hewlett-Packard, with degrees in // mathematics and computer science. He has privately traded options and equities for 15 years. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="T3 Averages", shorttitle="T3", overlay = true) Length = input(5, minval=1) b = input(0.7, minval=0.01,step=0.01) reverse = input(false, title="Trade reverse") xPrice = close xe1 = ema(xPrice, Length) xe2 = ema(xe1, Length) xe3 = ema(xe2, Length) xe4 = ema(xe3, Length) xe5 = ema(xe4, Length) xe6 = ema(xe5, Length) 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 nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3 pos = iff(nT3Average > close, -1, iff(nT3Average < close, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nT3Average, color=blue, title="T3")