
이 전략은 가격의 트렌드를 계산하여 TSI 지표에서 벗어난 다음 TSI를 이동 평균 처리하여 TSI 지표의 이동 평균을 형성합니다. 가격의 K선 방향과 결합하여 현재 주가가 상승 추세 또는 하락 추세에 있다고 판단하여 구매 및 판매 신호를 생성합니다.
이 전략은 다음과 같은 몇 가지 단계로 구성됩니다.
위 단계들을 통해, 현재 전체적인 트렌드 방향을 판단할 수 있으며, 가격의 실제 움직임과 결합하여 거래 신호를 생성할 수 있다.
이 전략은 트렌드 방향을 판단하는 TSI 지표를 사용하고 가격 K 선과 결합하여 거래 신호를 생성합니다. 트렌드를 효과적으로 포착하여 상승 추세에서 구매하고 하향 추세에서 판매 할 수 있습니다. 그러나 안정성을 높이기 위해 최적화 할 필요가 있습니다.
/*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)