Die Kernidee dieser Strategie besteht darin, den Random Fisher Transform und den temporären Stop Reverse STOCH-Indikator zu kombinieren, um Kauf- und Verkaufsentscheidungen zu treffen.
Diese Strategie berechnet zuerst den Standard-STOCH-Indikator und führt dann eine Fisher-Transformation durch, um den INVLine zu erhalten. Wenn der INVLine über die untere Schwelle dl überschreitet, wird ein Kaufsignal generiert. Wenn der INVLine unter die obere Schwelle ul überschreitet, wird ein Verkaufssignal generiert. Gleichzeitig setzt diese Strategie auch einen Trailing-Stop-Mechanismus, um Gewinne zu erzielen und Verluste zu reduzieren.
Insbesondere ist die Kernlogik dieser Strategie folgende:
Die wichtigsten Vorteile dieser Strategie sind:
Diese Strategie birgt auch einige Risiken:
Um diese Risiken zu mindern, sollten folgende Aspekte optimiert werden:
Zu den wichtigsten Richtungen für die Optimierung dieser Strategie gehören:
Diese Strategie kombiniert die Random Fisher Transform und den STOCH-Indikator, um eine einfache und praktische kurzfristige quantitative Strategie umzusetzen. Ihr Vorteil liegt in der hohen Betriebsfrequenz, die für den derzeit beliebten hochfrequenten quantitativen Handel geeignet ist. Gleichzeitig hat diese Strategie auch einige gemeinsame technische Indikatorstrategie-Risiken. Parameter und Filterbedingungen müssen optimiert werden, um Risiken zu reduzieren und die Stabilität zu verbessern. Im Allgemeinen bietet diese Strategie eine gute Idee für einfachen quantitativen Handel und ist eine weitere eingehende Forschung wert.
/*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)