T3指標に基づく取引戦略の傾向

作者: リン・ハーンチャオチャン開催日:2024年1月18日 16:21:40
タグ:

img

戦略の概要

この戦略は,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 インディケーターは,範囲限定 konsolidiation の際に傾向の方向性を決定するのに困難がある可能性があります.
  • アダプティブ移動平均指標は,誤った信号を生成する傾向があります.
  • 逆転取引のリスク管理は慎重でなければならない

これは,T3パラメータを調整したり,フィルタリングのための他の指標を追加したり,単一の損失を制御するためにストップ損失を設定することによって軽減できます.

オプティマイゼーションの方向性

  • フィルタリングのための他の指標,例えばMACD,RSIなど,組み合わせのために追加します.
  • 横向市場での誤った取引を避けるために傾向判断規則を追加する
  • パラメータを最適化し,より良いパラメータ組み合わせのためにv値を調整
  • ストップ・ロスト論理を追加する

概要

この戦略は,手動判断の必要なく,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")

もっと