Stochastische & gleitende Durchschnittsstrategie mit doppelten Filtern

Schriftsteller:ChaoZhang, Datum: 2024-02-02 11:28:58
Tags:

img

Übersicht

Dies ist eine langfristige Handelsstrategie, die die stochastischen Oszillator-K-Werte und exponentielle gleitende Durchschnitte mit doppelten Filtern kombiniert. Sie identifiziert Kaufmöglichkeiten, wenn der stochastische K über D überschreitet und in Überverkaufszone eindringt. Die Strategie erzeugt Verkaufssignale, wenn die Preise unter den gleitenden Durchschnitt überschreiten und der stochastische K über einer Schwelle liegt und normale Rückschläge von Trendumkehrungen filtert.

Strategie Logik

Der Kerngedanke dieser Strategie ist die Verwendung von stochastischem K für das Timing von Einstiegssignalen und exponentiellen gleitenden Durchschnitten für das Buchen von Gewinnen.

Diese Strategie berechnet insbesondere 21-Perioden-Stochastische K- und D-Werte sowie 38-Perioden-EMA. Wenn K über D in die Überverkauft-Zone (Standard 25) überschreitet, wird ein Kaufsignal generiert. Wenn die Preise unterhalb der EMA überschreiten und die Stochastische K über der Filterschwelle (65) liegt, wird eine Trendumkehr angenommen und die Position geschlossen. Eine Stop-Loss-Regel von 13% wird ebenfalls implementiert.

Mit doppelten Indikatoren und doppelten Filtern filtert diese Strategie effektiv falsche Signale aus.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Stochastic K bestimmt gute Einstiegspunkte, wenn man in überverkauftes Gebiet überquert.

  2. Doppelfilter von K/D-Kreuz und Preis-Extrem vermeiden effektiv falsche Signale.

  3. Die Verfolgung von Take-Profits mit EMA nutzt die Aufwärtsdynamik voll aus.

  4. Stochastische Filter normaler Rückschläge von Umkehrungen bei der Buchhaltung von Gewinnen.

  5. Geeignet für mittel- bis langfristige Beteiligungen mit guter Rentabilität.

Risikoanalyse

Einige Risiken zu berücksichtigen:

  1. Systemrisiko - Bärenmärkte können zu hohen Verlusten führen.

  2. Rückschlagrisiko - vorübergehende Kursrückgänge können vorzeitig einen MA-Stop-Loss auslösen.

  3. Risiko der Optimierung von Parametern - eine unangemessene Einstellung der Parameter beeinträchtigt die Leistung.

  4. Schwarzes Schwanenrisiko - technische Indikatoren scheitern gegen Marktschocks.

Optimierungsrichtlinien

Einige Möglichkeiten zur Optimierung der Strategie:

  1. Optimierung der Indikatorparameter durch strenge Rückprüfung.

  2. Es gibt auch andere Stop-Loss-Methoden wie Volatilität oder Trailing Stop-Loss.

  3. Einbeziehung anderer Indikatoren wie Volumen, Bollinger Bands usw.

  4. Test kürzerer/längerer gleitender Durchschnittszeiten.

  5. Dynamische Anpassung der Parameter anhand der Marktregeln.

Schlussfolgerung

Dies ist eine insgesamt solide Trend-Folgende Strategie. Sie verwendet Stochastik, um den Einstieg, den gleitenden Durchschnitt bis zum Ausgang zu bestimmen, und implementiert doppelte Filter, um falsche Signale zu vermeiden. Mit ausreichender Parameter-Tuning-Flexibilität, mittelfristigem bis langfristigem Halten und Effektivität beim Auffangen von Trends ist dies eine effiziente Aktienhandelsstrategie.


/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// English version
strategy(title='Stochastic & MA',  overlay=false)
// INPUTS : all default value have already been optimized
length = input.int(21, 'period', minval=1)
lossp = input.int(13, 'stop loss %', minval=2, step=1)
leverage = input.int(1, 'leverage', minval=1, step=1)
// leverage has been introduced for modifying stop loss levels for financial instruments with leverage, like ETF 
n = input(2, 'n days ago')
filtro = input.int(65, 'k filter for throwbacks', minval=20, step=1)
OverSold = input.int(25, 'Oversold value', minval=5, step=5)
// Building indicators
smoothK = input.int(6, 'k', minval=1)
smoothD = input.int(4, 'd', minval=1)
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
//Empowerment: introducing EMA
sma_period = input.int(38, 'periodo Sma', minval=1)
emaf = ta.ema(close, sma_period)
//ENTRY condition and order
// First of all, it's better not trade shares with a quaterly loss or with a bad surprise towards to analysts' expectations or ipevaluated (P/E > 50), but on your choice
// You entry when Stochastic's K is higher than D in Oversold area (you may personalize), applying the condition that today's close should be higher than one of n-days ago (default of the day before yesterday or 2 candles ago)
entry1 = k > d and k <= OverSold and close >= close[n]
strategy.entry('Long', strategy.long, comment='k basso', when=entry1)
//EXIT CONDITIONS
//  1) close crosses under exponential movinig average with filter that k >= fixed level (65), in order to distinguish a violent movement of prices with a possibile beginning of a trend from an almost exhausted "ordinary" throwback
// 2) fixed stop loss on percentage
exit1 = ta.crossunder(close, emaf) and k >= filtro
losspel = strategy.position_avg_price * (1 - lossp / 100 * leverage)
exit2 = close < losspel
strategy.close('Long', when=exit1, comment='sma')
strategy.close('Long', when=exit2, comment='stop loss')
// plotting indicators (add Ema on your choice)
plot(k, color=color.new(color.blue, 0), linewidth=1, title='k Stoch')
plot(d, color=color.new(color.red, 0), linewidth=1, title='d stoch signal')
plot(OverSold, title='Oversold', color=color.new(color.aqua, 0))
plot(filtro, color=color.new(color.gray, 0), title='k-filter for ema')





Mehr