
이 전략의 핵심 아이디어는 무작위적인 피셔 변환과 임시 중단 반전 STOCH 지표를 결합하여 매매 결정을 내리는 것이다. 이 전략은 중장기적인 운영에 적합하며 평형상황에서 좋은 수익을 얻을 수 있다.
이 전략은 먼저 표준 STOCH 지표를 계산한 후 INVLine로 Fisher 변환을 한다. INVLine 상의 하위 마이너스 라인 dl을 통과하면 구매 신호가 발생하고, INVLine 상의 하위 마이너스 라인 ul을 통과하면 판매 신호가 발생한다. 이 전략은 또한 수익을 고정하고 손실을 줄이기 위해 추적 중지 장치를 설정한다.
특히, 이 전략의 핵심 논리는 다음과 같습니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
이러한 위험을 줄이기 위해 다음과 같은 몇 가지 측면을 최적화할 수 있습니다.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
이 전략은 무작위적인 피셔 변환과 STOCH 지표를 통합하여 간단한 실용적인 짧은 선의 양화 전략을 구현한다. 이 전략의 장점은 최근 비교적 인기있는 고주파수 양화 거래에 적합한 높은 동작 주파수이다. 동시에, 이 전략에는 일반적인 기술 지표 전략 위험이 있으며, 매개 변수와 필터링 조건을 최적화하여 위험을 줄이고 안정성을 높여야 한다.
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("IFT Stochastic + Trailing Stop", overlay=false, pyramiding = 0, calc_on_order_fills = false, commission_type = strategy.commission.percent, commission_value = 0.0454, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
//INPUTS
stochlength=input(19, "STOCH Length")
wmalength=input(4, title="Smooth")
ul = input(0.64,step=0.01, title="UP line")
dl = input(-0.62,step=0.01, title="DOWN line")
uts = input(true, title="Use trailing stop")
tsi = input(title="trailing stop actiation pips",defval=245)
tso = input(title="trailing stop offset pips",defval=20)
//CALCULATIONS
v1=0.1*(stoch(close, high, low, stochlength)-50)
v2=wma(v1, wmalength)
INVLine=(exp(2*v2)-1)/(exp(2*v2)+1)
//CONDITIONS
sell = crossunder(INVLine,ul)? 1 : 0
buy = crossover(INVLine,dl)? 1 : 0
//PLOTS
plot(INVLine, color=aqua, linewidth=1, title="STOCH")
hline(ul, color=red)
hline(dl, color=green)
bgcolor(sell==1? red : na, transp=30, title = "sell signal")
bgcolor(buy==1? lime : na, transp=30, title = "buy signal")
plotchar(buy==1, title="Buy Signal", char='B', location=location.bottom, color=white, transp=0, offset=0)
plotchar(sell==1, title="Sell Signal", char='S', location=location.top, color=white, transp=0, offset=0)
//STRATEGY
strategy.entry("BUY", strategy.long, when = buy==1)
strategy.entry("SELL", strategy.short, when = sell==1)
if (uts)
strategy.entry("BUY", strategy.long, when = buy)
strategy.entry("SELL", strategy.short, when = sell)
strategy.exit("Close BUY with TS","BUY", trail_points = tsi, trail_offset = tso)
strategy.exit("Close SELL with TS","SELL", trail_points = tsi, trail_offset = tso)