Diese Strategie ist eine Strategie, bei der ein Handelssignal erzeugt wird, indem ein Wechselkursindex erstellt wird, der durch die Berechnung des Höchst- und des Tiefstpreises sowie des Schlusskurses in einem bestimmten Zeitrahmen erstellt wird. Der Wechselkursindex erzeugt ein Handelssignal, indem der Wechselkursindex berechnet wird. Der Wechselkursindex erzeugt ein Handelssignal, wenn der Index von der Überkaufzone zurückgeht oder von der Überverkaufszone zurückgeht.
Der Kern der Strategie ist der Stochastic Momentum Index (SMI). Die Berechnungsformel des SMI lautet:
\[SMI = \frac{Close-(HH+LL)/2}{AVGDIFF/2}*100\]
Darin ist HH der höchste Wert der letzten N Tage, LL der niedrigste Wert der letzten N Tage, N wird durch das Parameter a bestimmt; AVGDIFF ist der m-Tage-Moving Average von HH-LL, M wird durch das Parameter b bestimmt.
Der SMI-Index zeigt die Eigenschaften eines Preiswechsels. Wenn der Aktienpreis nahe am höchsten Punkt der letzten N-Tage ist, ist der SMI nahe 100, was bedeutet, dass die Aktie überkauft ist. Wenn der SMI nahe am niedrigsten Punkt der letzten N-Tage ist, ist der SMI nahe 100, was bedeutet, dass die Aktie überverkauft ist.
Diese Strategie verwendet den M-Tage-Moving-Average-SMA des SMI als Handelssignallinie. Ein Kaufsignal wird erzeugt, wenn der SMI von der Überkaufzone nach unten umkehrt und den SMA durchbricht; ein Verkaufsignal wird erzeugt, wenn der SMI von der Überverkaufzone nach oben umkehrt und den SMA durchbricht.
Die Strategie entscheidet, dass die K-Linie durchbrochen wird, um den Stop-Loss einzurichten.
Diese Strategie hat folgende Vorteile:
Der Preiswechsel ist ein Signal, das an den Trendwechselpunkten erzeugt wird, um die Chance auf eine Umkehr zu erfassen.
Der SMI-Index kombiniert Höchst-, Tiefst- und Schlusskurs, um Überkauf und Überverkauf zu beurteilen. Die Signale sind zuverlässig.
In Kombination mit dem K-Line-Entity-Breakout kann ein Stop-Loss eingestellt werden, um das Risiko zu kontrollieren.
Die Strategie hat weniger Parameter und ist einfacher zu implementieren und zu optimieren.
Die Strategie birgt auch Risiken:
Es ist schwierig zu beurteilen, wann eine Umkehr erfolgreich war, und es kann sein, dass ein Trendwechsel erst nach mehreren Verlusten erfasst wird.
Ein Fehler bei der Zeitbestimmung der Umkehrung kann zu Verlusten führen.
Die Entität ist möglicherweise zu sensibel für die Durchbruchschädigung und hat eine hohe Wahrscheinlichkeit, eingesperrt zu werden.
Entsprechende Lösungen:
Optimierung der SMI-Parameter und Anpassung der Umkehrfrequenz.
In Kombination mit anderen Indikatoren wird der Zeitpunkt der Umkehrung beurteilt.
Anpassung der Größe des Objekts an die Stop-Loss-Parameter, um eine Überempfindlichkeit zu verhindern.
Diese Strategie kann in folgenden Richtungen optimiert werden:
Optimieren Sie die Parameter a und b des SMIs, um die Sensitivität der Umkehrung zu verändern.
Hinzufügen von anderen Indikatoren, um zu vermeiden, dass die Richtung der wichtigsten Trends übersehen wird.
Es ist möglich, die Verlustminderung zu erhöhen, um zu verhindern, dass die Verlustminderung zu empfindlich oder zu langsam ist. Es kann überlegt werden, die Verlustminderung zu verfolgen, die Verlustminderung zu verfolgen, die Verlustminderung zu verfolgen usw.
In Kombination mit einem maschinellen Lernmodell wird die Wahrscheinlichkeit eines erfolgreichen Umkehrens ermittelt, um einen erfolglosen Umkehrungsabschluss zu vermeiden.
Diese Strategie ist insgesamt eine Strategie, bei der der Umkehrindex SMI zum Zweiseitigen Handel genutzt wird. Der Vorteil besteht darin, dass die Preisumkehrfunktion genutzt wird, um am Umkehrpunkt ein Handelssignal zu erzeugen, das mehr Short-Line-Handelsmöglichkeiten erfasst. Es gibt jedoch einige typische Umkehrhandelsrisiken, bei denen die Parameter und die Stop-Loss optimiert werden müssen, um Verluste zu vermeiden.
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Stochastic Strategy v1.0", shorttitle = "Stochastic str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
a = input(5, "Percent K Length")
b = input(3, "Percent D Length")
limit = input(50, defval = 50, minval = 1, maxval = 100, title = "SMI Limit")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Stochastic Momentum Index
ll = lowest (low, a)
hh = highest (high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2
avgrel = ema(ema(rdiff,b),b)
avgdiff = ema(ema(diff,b),b)
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ema(SMI,b)
//Lines
plot(SMI, color = blue, linewidth = 3, title = "Stochastic Momentum Index")
plot(SMIsignal, color = red, linewidth = 3, title = "SMI Signal Line")
plot(limit, color = black, title = "Over Bought")
plot(-1 * limit, color = black, title = "Over Sold")
plot(0, color = blue, title = "Zero Line")
//Body
body = abs(close - open)
abody = sma(body, 10)
//Signals
up = SMIsignal < -1 * limit and close < open
dn = SMIsignal > limit and close > open
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2
//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Bottom", strategy.long, needlong == false ? 0 : lot)
if dn
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Top", strategy.short, needshort == false ? 0 : lot)
if exit
strategy.close_all()