Strategie des exponentiell glätteten stochastischen Oszillators

Schriftsteller:ChaoZhang, Datum: 2024-01-18 15:53:41
Tags:

img

Übersicht

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.

Strategie Logik

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.

Vorteile

Im Vergleich zur traditionellen stochastischen Strategie hat die Strategie des exponentiell glätteten stochastischen Oszillators folgende Vorteile:

  1. Die Sensitivität des Stochastischen kann frei angepasst werden, indem das exponentielle Gewicht geändert wird, um die Handelsfrequenz zu steuern.
  2. Das erhöhte exponentielle Gewicht kann Lärm filtern und stabilere Handelssignale erzeugen.
  3. Durch die Kombination von Indikatoren aus verschiedenen Zeitrahmen kann eine Bestätigung in mehreren Zeitrahmen erreicht und die Signalzuverlässigkeit verbessert werden.

Risiken

Die Exponential Smoothed Stochastic Oscillator-Strategie birgt außerdem folgende Risiken:

  1. Bei einem zu hohen exponentiellen Gewicht können einige Handelsmöglichkeiten aufgrund einer übermäßigen Signalfilterung verpasst werden.
  2. Der Indikator ist anfällig für Lärm und falsche Überschneidungen. Die Parameter müssen eingestellt werden, um zuverlässige Überschneidungssignale zu gewährleisten.
  3. Es ist notwendig, den optimalen Parameterbereich für verschiedene Märkte zu ermitteln, da eine unsachgemäße Einstellung der Parameter die Strategieleistung beeinträchtigen kann.

Verbesserungsbereiche

Die Strategie des exponentiell glätteten stochastischen Oszillators kann aus folgenden Aspekten optimiert werden:

  1. Kombination mit anderen Indikatoren wie MACD und gleitendem Durchschnitt, um Signale zu filtern und falsche Signale zu reduzieren.
  2. Hinzufügen von Stop-Loss-Mechanismen zur effektiven Risikokontrolle.
  3. Optimieren Sie den exponentiellen Gewichtsparameter, um die optimalen Parameterkombinationen zu finden.
  4. Erhöhung der Kompositierbarkeit, z. B. Kombination mit saisonalen Indikatoren, Indikatoren für die Marktstruktur, um die Stabilität weiter zu verbessern.

Schlussfolgerung

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))

Mehr