
Diese Strategie, die als “Quantitative FNGU-Trading-Strategie” bezeichnet wird, ist eine Long-Position-Strategie, die speziell für die FNGU-Aktie entwickelt wurde. Die Strategie nutzt hauptsächlich die Bolling-Linie und den RSI, um überkaufte und überverkaufte Aktien zu identifizieren und so ein Kauf- und Verkaufssignal zu erzeugen.
Die Kernlogik dieser Strategie basiert auf der Kombination von Brinline- und RSI-Indikatoren.
Zunächst besteht die Bolling-Linie aus drei Linien: der Mittel-, der Ober- und der Unterlinie. Die Mittellinie ist der n-Tage-Simple Moving Average, die Ober- und die Unterlinie sind die Standarddifferenz von positiven und negativen k-fachen der Mittellinie.
In dieser Strategie ist die Länge der Bollinger-Line-Mitte 235 Tage, und der Parameter k ist 2. Es erzeugt ein Kaufsignal, wenn der Preis unter der Bollinger-Line liegt oder wenn der Preis die Bollinger-Mitte von unten nach oben durchbricht. Es erzeugt ein Verkaufssignal, wenn der Preis über der Bollinger-Line liegt.
Zweitens zeigt der RSI den Überkauf und Überverkauf einer Aktie. RSI über 70 bedeutet Überkauf und unter 30 bedeutet Überverkauf. In dieser Strategie ist die Länge der RSI-Parameterperiode 2.
In dieser Strategie wird der Bollinger-Linie-Indikator in Kombination mit dem RSI-Indikator verwendet: ein Kaufsignal wird erzeugt, wenn der RSI-Indikator aus der Überverkaufszone herausbricht und gleichzeitig die Bollinger-Unterlinie unterhalb oder berührt; ein Verkaufsignal wird erzeugt, wenn der RSI-Indikator aus der Überkaufszone unterhalb bricht und die Bollinger-Online über dem Preis liegt.
Diese Strategie hat folgende Vorteile:
Die Kombination von Bolling Line und RSI macht die Kauf- und Verkaufssignale genauer und verlässlicher.
Der RSI verwendet die Blink-Linie, um überkaufende und überverkaufte Bereiche zu identifizieren und falsche Signale zu filtern, die sich ergänzen.
Es gibt nur langfristige Transaktionen, ohne die Risiken eines leeren Handels zu berücksichtigen.
Die Strategieparameter wurden optimiert, um die FNGU-Aktie mit hoher Volatilität zu optimieren.
Die automatische Stop-Loss-Funktion reduziert das Risiko von Verlusten.
Programmierung soll einfach und klar sein, leicht zu verstehen und zu ändern.
Es gibt einige Risiken, die mit dieser Strategie verbunden sind:
Die Brinline und der RSI können falsche Signale erzeugen, sind leicht zu verwerten und müssen vorsichtig gehandelt werden. Die Parameter können entsprechend angepasst werden oder andere Indikatoren hinzugefügt werden, um sie zu filtern.
Die FNGU-Aktien selbst sind sehr volatil, und eine unsachgemäße Stop-Loss-Einstellung kann zu Verlusten führen. Die Stop-Loss-Grenze sollte entsprechend gelockert werden.
Die Strategie eignet sich nur für hochflüchtige Aktien wie FNGU und nicht für andere Aktien. Die Parameter müssen an die verschiedenen Aktien angepasst werden.
Strategieparameter wurden optimiert, aber Marktveränderungen können dazu führen, dass die Parameter nicht mehr zutreffen.
Die Strategie kann in folgenden Bereichen optimiert werden:
Zusätzliche Kombinationen von Indikatoren, wie KDJ, MACD usw., werden hinzugefügt, um die Signalpräzision zu erhöhen.
Optimierung der Brinline- und RSI-Parameter für mehr Aktientypen.
Die Entwicklung von Maschinelle-Lern-Modellen zur Entscheidungsfindung und die Nutzung von mehr Daten zur Erzeugung von Handelssignalen.
Transaktionssignale, die Daten in höheren Zeitdimensionen nutzen, um Transaktionen über Perioden hinweg zu ermöglichen.
In Kombination mit emotionalen Analysen und der Nutzung sozialer Daten werden Handelssignale erzeugt.
Entwicklung von Quantifizierungs- und Rückmeldungssystemen, um verschiedene Parameter-Sets schnell zu testen.
Diese Strategie ist eine Long-Position-Strategie, die speziell für schwankende Aktien wie FNGU geeignet ist. Sie erzeugt in Kombination mit dem Brinline-Indikator und dem RSI-Indikator Handelssignale bei Überkauf-Überverkaufssituationen, um eine Umkehrmöglichkeit für die Aktienpreise zu erfassen. Die Strategie hat noch viel Optimierungsraum und verdient weitere Verbesserungen, um sie besser anwendbar und effektiver zu machen.
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by EMKM)", shorttitle="1Min Killer", overlay=true)
///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(235, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
BBtarget38 = BBbasis + 0.38 * BBdev // Line at 38% of Bollinger Band width
BBtarget50 = BBbasis + 0.50 * BBdev // Line at 50% of Bollinger Band width
///////////// EMA
emaLength = input(20, title="EMA Period Length")
ema = ema(close, emaLength)
source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)
///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(BBtarget38, color=color.blue, linewidth=2, title="SMA at 38% of BB width") // Line at 38%
plot(BBtarget50, color=color.green, linewidth=2, title="SMA at 50% of BB width") // Line at 50%
plot(ema, color=color.orange, title="EMA") // Plot EMA
///////////// RSI + Bollinger Bands Strategy
longCondition = crossover(vrsi, RSIoverSold) and buyEntry
sellCondition = crossunder(vrsi, RSIoverBought) and close > BBupper
close_long = close > BBbasis
close_short = close < BBbasis
if (not na(vrsi))
if longCondition
strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
else
strategy.cancel(id="Buy")
if close_long
strategy.close("Buy")
if (sellCondition)
strategy.entry("Sell", strategy.short, qty=10, stop=BBupper, comment="Sell")
else
strategy.cancel(id="Sell")
if close_short
strategy.close("Sell")