이 전략은 가격의 트렌드 오차 지수 (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)