
Die Kernidee der Strategie besteht darin, Kauf- und Verkaufsentscheidungen in Kombination mit einer zufälligen Fisher-Umstellung und einer vorübergehenden Stopp-Umkehrung des STOCH-Indikators zu treffen. Die Strategie eignet sich für mittelfristige und kurzfristige Operationen und kann unter stabilen Bedingungen gute Erträge erzielen.
Die Strategie berechnet zunächst den Standard-STOCH-Indikator und erzeugt eine Fisher-Umwandlung, um die INVLine zu erhalten. Wenn die INVLine die untere Schwelle dl überschreitet, wird ein Kaufsignal erzeugt. Wenn die INVLine die untere Schwelle ul überschreitet, wird ein Verkaufssignal erzeugt. Die Strategie bietet außerdem einen Tracking-Stop-Mechanismus, um Gewinne zu sperren und Verluste zu reduzieren.
Die Kernlogik der Strategie lautet:
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch Risiken:
Um diese Risiken zu verringern, kann man die Optimierung folgender Aspekte in Betracht ziehen:
Diese Strategie kann in folgenden Bereichen optimiert werden:
Diese Strategie kombiniert die Verwendung von Random Fisher Conversion und STOCH-Indikatoren, um eine einfache und praktische Short-Line-Quantifizierungsstrategie zu realisieren. Ihr Vorteil liegt in der hohen Betriebsfrequenz, die für den in jüngster Zeit beliebten hochfrequenten Quantifizierungshandel geeignet ist.
/*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)