Die Strategie des exponentiell glätteten Stochastischen Oszillators ist eine modifizierte Version des traditionellen Stochastischen Indikators, indem ein exponentieller Gewichtsparameter hinzugefügt wird, um die Empfindlichkeit des Stochastischen anzupassen und Handelssignale zu generieren.
Der Kern der exponentiell glätteten Stochastischen Strategie liegt im exponentiellen Gewichtsparameter ex.
s = 100 * (close - lowest low) / (highest high - lowest low)
Mit dem exponentiellen Parameter wird die Formel:
exp = ex<10? (ex)/(10-ex) : 99
s = 100 * (close - lowest low) / (highest high - lowest low)
ks = s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
:-math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
Durch die Anpassung von exp kann der Einfluss von s auf ks geändert werden.
Kaufsignale werden erzeugt, wenn ks von überkauften Niveaus überschreitet. Verkaufssignale werden erzeugt, wenn ks von überverkauften Niveaus unterschreitet.
Im Vergleich zur traditionellen stochastischen Strategie hat die Strategie des exponentiell glätteten stochastischen Oszillators folgende Vorteile:
Die Exponential Smoothed Stochastic Oscillator-Strategie birgt außerdem folgende Risiken:
Die Strategie des exponentiell glätteten stochastischen Oszillators kann aus folgenden Aspekten optimiert werden:
Die Strategie des exponentiell glätteten Stochastischen Oszillators erzeugt zuverlässigere Handelssignale, indem sie die Empfindlichkeit des Stochastischen Indikators anpasst. Sie kann mittelfristige bis langfristige Trends effektiv verfolgen und kann auch in eine kurzfristige Strategie optimiert werden. Mit weiterer Komposibilität und Parameteroptimierung hat sie das Potenzial, konsistente profitable Renditen zu erzielen.
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © faytterro //@version=5 strategy("Exponential Stochastic Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100) len=input.int(14, "length") ex=input.int(2, title="exp", minval=1, maxval=10) exp= ex<10? (ex)/(10-ex) : 99 s=100 * (close - ta.lowest(low, len)) / (ta.highest(high, len) - ta.lowest(low, len)) ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 : -math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 plot(ks, color= color.white) bot=input.int(20) top=input.int(80) longCondition = ta.crossover(ks, bot) and bar_index>0 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = ta.crossunder(ks, top) and bar_index>0 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) // strategy.close("My Long Entry Id") alertcondition(longCondition, title = "buy") alertcondition(shortCondition, title = "sell") h1=hline(top) h2=hline(bot) h3=hline(100) h4=hline(0) fill(h1,h3, color= color.rgb(255,0,0,200-top*2)) fill(h2,h4, color= color.rgb(0,255,0,bot*2))