Momentum-Surfer-Strategie basierend auf dem Stochastics-Momentum-Index

Schriftsteller:ChaoZhang, Datum: 2024-02-27 14:32:46
Tags:

img

Übersicht

Dieser Artikel führt eine Strategie ein, um die Aktientrends auf der Grundlage des Stochastics Momentum Index (SMI) zu verfolgen. Die Strategie heißt Momentum Surfer Strategy. Sie identifiziert überkaufte und überverkaufte Bereiche mit SMI und geht lang/kurz, um von Trendumkehrungen zu profitieren.

Strategie Logik

Der SMI-Indikator wird verwendet, um überkaufte und überverkaufte Zonen zu identifizieren. Werte im roten Bereich zeigen, dass die Aktie überverkauft ist, während der grüne Bereich überkaufte Bedingungen bedeutet. Die Handelssignale werden aus dem Crossover zwischen SMI und seiner EMA-Linie generiert.

Insbesondere wird ein langes Signal ausgelöst, wenn der SMI seinen EMA überschreitet und der SMI unter dem -40-Überverkauft-Level liegt.

Dabei kann die Strategie die Preisumkehr erfassen und kaufen niedrig verkaufen hoch implementieren.

Analyse der Vorteile

Der größte Vorteil liegt in seiner Fähigkeit, Trends zu verfolgen. Da er SMI verwendet, um Ein- und Ausstiegspunkte zu bestimmen, passen sich die Signale perfekt mit Preisumkehrungen aus.

Der SMI selbst hat außerdem die Eigenschaft, die Preise zu glätten. Im Vergleich zu einfachen gleitenden Durchschnitten reagiert er stetiger auf Preisänderungen. Die Handelssignale sind zuverlässiger, ohne leicht von Marktlärm beeinflusst zu werden.

Zusammenfassend lässt sich sagen, dass die Strategie die Stärke von SMI erfolgreich nutzt, um Aktientrends effektiv zu verfolgen.

Risikoanalyse

Die Strategie stützt sich stark auf den SMI-Indikator und ist somit mit einigen damit verbundenen Risiken konfrontiert.

Erstens ist SMI empfindlich gegenüber Parameter-Tuning. Falsche Parameter können die Signalqualität erheblich beeinträchtigen. Um das Optimum zu finden, sind umfangreiche Tests erforderlich.

Darüber hinaus ist kein Indikator immun gegen falsche Signale, einschließlich SMI. Whipsaws können bei hoher Volatilität auftreten, die unnötige Verluste verursacht.

Der Markt ist in der Regel in einem negativen Zustand, wenn der Markt in einem niedrigen Zustand gerät.

Erweiterung

Die Strategie kann in folgenden Aspekten weiter verbessert werden:

  1. Einheitliche Systeme, die sich aus einer Reihe von Faktoren zusammensetzen, um ein Syndicate-System zu bilden.

  2. Verwenden Sie maschinelles Lernen, um automatisch SMI-Parameter basierend auf großen historischen Daten zu optimieren.

  3. Hinzufügen von Stop-Loss-Mechanismen: Ein vernünftiger Stop-Loss reduziert den Einzelverlust enorm und vermeidet Risiken.

  4. Eine Kombination von quantitativen Bestandsüberprüfungsregeln zur Verbesserung der Gesamtqualität des Bestandspools.

Schlussfolgerung

In diesem Artikel stellen wir die Momentum Surfer-Strategie vor, die Trends mit dem SMI-Indikator verfolgt. Ihre größte Stärke liegt darin, Umkehrungen zu erfassen und den Trends reibungslos zu folgen. Es gibt einige Risiken wie Parameterempfindlichkeit und Signalqualität.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Stochastics Momentum Index Strategy", shorttitle="Stoch_MTM_Doan", overlay=true)

// Input parameters
a = input.int(10, "Percent K Length")
b = input.int(3, "Percent D Length")
ob = input.int(40, "Overbought")
os = input.int(-40, "Oversold")

// Range Calculation
ll = ta.lowest(low, a)
hh = ta.highest(high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ta.ema(ta.ema(rdiff,b),b)
avgdiff = ta.ema(ta.ema(diff,b),b)

// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ta.ema(SMI,b)
emasignal = ta.ema(SMI, 10)

// Color Definition for Stochastic Line
col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white

plot(SMIsignal, title="Stochastic", color=color.white)

plot(emasignal, title="EMA", color=color.yellow)

level_40 = ob
level_40smi = SMIsignal > level_40 ? SMIsignal : level_40

level_m40 = os
level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40

plot(level_40, "Level ob", color=color.red)
plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line)

plot(level_m40, "Level os", color=color.green)
plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line)

//fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold")
//fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought")

// Strategy Tester
longCondition = ta.crossover(SMIsignal, emasignal) and (SMI < os)
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = ta.crossunder(SMIsignal, emasignal) and (SMI > ob)
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Mehr