この戦略は,価格のトレンドデバイエーションインデックス (TSI) を計算し,TSIを移動平均値で処理し,TSIの移動平均線を形成する.価格キャンドルストイック方向と組み合わせると,現在の価格が上昇傾向か下落傾向にあるかどうかを決定し,したがって購入・売却信号を生成する.
この戦略の主なステップは以下の通りです.
上記のステップを通じて,実際の価格動きと組み合わせて,全体的なトレンド方向性を決定し,取引信号を生成します.
この戦略は,トレンド方向を決定するためにTSIを使用し,価格キャンドルスタイクと組み合わせてトレンド信号を生成し,上昇傾向で購入し,ダウントレンドで販売することで,効果的にトレンドを捉えることができます.しかし,安定性を向上させるために最適化を必要とするリスクもあります.全体として,この戦略は直感的で分かりやすいので,技術指標に慣れているトレーダーに適しています.
/*backtest start: 2023-10-29 00:00:00 end: 2023-11-05 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="TSIHULLBOT", shorttitle="TSICCIHULL", default_qty_type=strategy.percent_of_equity, default_qty_value=100) long = input(title="Long Length", type=input.integer, defval=50) short = input(title="Short Length", type=input.integer, defval=50) signal = input(title="Signal Length", type=input.integer, defval=7) price = input(title="Source",type=input.source,defval=open) lineupper = input(title="Upper Line", type=input.integer, defval=250) linelower = input(title="Lower Line", type=input.integer, defval=-250) double_smooth(price, long, short) => fist_smooth = hma(price, long) hma(fist_smooth, short) pc = change(price) 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))*5 tsihmaline=(hma(tsi_value,signal))*5 clr = tsihmaline < tsi_value ? color.red : color.lime clr2 = tsi_value < tsi_value[1] ? color.red : color.lime i1=plot(lineupper+3, color=color.black, linewidth=3) i2=plot(linelower+3, color=color.black, linewidth=3) i3=plot(lineupper, color=clr) i4=plot(linelower, color=clr) trendv=tsihmaline/5.6 plot(trendv, linewidth=7, color=color.black) plot(trendv, linewidth=4, color=color.yellow) j1=plot(tsi_value, linewidth=5, color=color.black) j2=plot(tsi_value[1], linewidth=5, color=color.black) j3=plot(tsi_value, color=clr2) j4=plot(tsi_value[1], color=clr2) fill(i3,i4,color=clr,transp=90) fill(j3,j4,color=clr2,transp=15) longCondition = tsihmaline>tsihmaline[1] and price>price[1] if (longCondition) strategy.entry("Buy ⤴️", strategy.long) shortCondition = tsihmaline<tsihmaline[1] and price<price[1] if (shortCondition) strategy.entry("Sell ⤵️", strategy.short)