この戦略は"TSI指標とハル移動平均に基づく定量取引戦略"と呼ばれる.主なアイデアは,TSI指標とハル移動平均を組み合わせて株式,暗号通貨または外為のトレンドを特定し,トレンドが始まると取引信号を生成することです.
この戦略は,TSI指標を使用して価格の動向と勢いを決定する.TSI指標は,価格変動率の二重スムーズ移動平均値に基づいている.TSI値が移動平均値を超えると購入信号を生成し,その下を通ると販売信号を生成する.
この戦略は,価格動向を決定するためにハル移動平均値も使用する.ハル移動平均値は,二重重量化された移動平均値で構築され,市場のノイズを効果的にフィルターすることができます.高速線がスローラインの上を横切ると上昇傾向が認識され,下を横切ると下落傾向が認識されます.
TSIインジケーターが信号を生成すると,ハル移動平均が同じ方向のトレンドを確認した場合,対応する取引信号が起動します.また,戦略はトレンドを確認するためにキャンドルスタイクボディの方向もチェックします.インジケーター信号,ハル信号,キャンドルスタイクボディの方向が一貫して並べた場合にのみ信号が生成されます.
この戦略は,トレンド,モメンタム,移動平均の指標を組み合わせることで,市場のトレンドの開始を効果的に特定し,過剰な誤った信号を回避することができます.
単一指標戦略と比較して,この戦略は複数の指標を組み合わせてシグナルをフィルターし,シグナルの質を大幅に向上させることができます.複数の確認条件はまた,シグナルが起動すると非常に信頼性があります.
この戦略は,トレンド開始を効果的に特定できるが,市場の統合中にいくつかの誤った信号と過剰取引を生む可能性がある.不適切なパラメータ設定は,不要な出口を引き起こすこともあります.
リスクを軽減するために,船体周期またはTSIパラメータを相応に調整することができる.制御損失にストップも追加することができる.最適化中に,最適なパラメータのための高い信号対ノイズ比を確保するために注意を払う必要があります.
戦略は以下の側面で最適化できます.
この戦略はTSI指標とハル移動平均を組み合わせ,市場の動向を確認した後,取引信号を生成する.この戦略は高いタイミングと信号品質を有している.パラメータ最適化と戦略の組み合わせを通じて,リスクを低減しながら収益性が大幅に向上することができる.この戦略は,中長期の動向を特定するのに適しており,特に暗号通貨と外為市場で有望な応用見通しがある.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("TSI/HullMA/VWMA strategy", shorttitle="TSI/HullMA/VWMA", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=420, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0) TP = input(defval=200.00, title="TargetPoint in $", type=float, step=1) SL = input(defval=-2000.00, title="StopLoss in $", type=float, step=1) signal = input(title="Signal Length", defval=6) keh=input(title="HullMA cross",defval=2) a=input(title="VWMA",defval=2) long=35,short=35,linebuy=4,linesell=-4,ot=1,p=ohlc4[0] double_smooth(src, long, short) => fist_smooth = ema(src, long) ema(fist_smooth, short) pc = change(p) rvwma=vwma(p,round(a)) rvwma2=vwma(p,round(a*2)) n2ma=2*wma(p,round(keh/2)) nma=wma(p,keh) diff=n2ma-nma sqn=round(sqrt(keh)) n2ma1=2*wma(p[1],round(keh/2)) nma1=wma(p[1],keh) diff1=n2ma1-nma1 sqn1=round(sqrt(keh)) n1=wma(diff,sqn) n2=wma(diff1,sqn) hullbuy=n1>n2 and n1>n2[1] and rvwma>rvwma2 hullsell=n1<n2 and n1<n2[1] and rvwma<rvwma2 candlebuy=ohlc4[0]>ohlc4[1] and ohlc4[0]>ohlc4[2] and ohlc4[0]>ohlc4[3] candlesell=ohlc4[0]<ohlc4[1] and ohlc4[0]<ohlc4[2] and ohlc4[0]<ohlc4[3] double_smoothed_pc = double_smooth(pc, long, short) double_smoothed_abs_pc = double_smooth(abs(pc), long, short) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) strategy.entry("buy", true, na, when = tsi_value>ema(tsi_value, signal) and candlebuy and hullbuy) strategy.entry("sell", false, na, when = tsi_value<ema(tsi_value, signal) and candlesell and hullsell) strategy.close_all(when = strategy.openprofit>TP or strategy.openprofit<SL)