Idea utama strategi ini adalah untuk menggabungkan Random Fisher Transform dan penunjuk STOCH Stop Reverse Temporary untuk membuat keputusan membeli dan menjual. Strategi ini sesuai untuk operasi jangka sederhana dan boleh menghasilkan pulangan yang baik dalam keadaan pasaran yang stabil.
Strategi ini mula-mula mengira penunjuk STOCH standard, kemudian melakukan transformasi Fisher di atasnya untuk mendapatkan INVLine. Apabila INVLine melintasi di atas ambang bawah dl, isyarat beli dihasilkan. Apabila INVLine melintasi di bawah ambang atas ul, isyarat jual dihasilkan. Pada masa yang sama, strategi ini juga menetapkan mekanisme hentian untuk mengunci keuntungan dan mengurangkan kerugian.
Khususnya, logik teras strategi ini adalah:
Kelebihan utama strategi ini ialah:
Strategi ini juga mempunyai beberapa risiko:
Untuk mengurangkan risiko ini, pertimbangkan untuk mengoptimumkan aspek berikut:
Arah utama untuk mengoptimumkan strategi ini termasuk:
Strategi ini menggabungkan Random Fisher Transform dan penunjuk STOCH untuk melaksanakan strategi kuantitatif jangka pendek yang mudah dan praktikal. Kelebihannya terletak pada kekerapan operasi yang tinggi, yang sesuai untuk perdagangan kuantitatif frekuensi tinggi yang popular pada masa ini. Pada masa yang sama, strategi ini juga mempunyai beberapa risiko strategi penunjuk teknikal yang biasa. Parameter dan keadaan penapis perlu dioptimumkan untuk mengurangkan risiko dan meningkatkan kestabilan. Secara umum, strategi ini memberikan idea yang baik untuk perdagangan kuantitatif yang mudah dan bernilai penyelidikan yang lebih mendalam.
/*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)