Die Ressourcen sind geladen. Beförderung...

Geänderter Trend des Relative Strength Index nach Strategie

Schriftsteller:ChaoZhang, Datum: 2024-03-29 16:16:37
Tags:

img

Übersicht

Diese Strategie erfasst Markttrends basierend auf dem Modified Relative Strength Index (Modified RSI). Die Hauptidee der Strategie besteht darin, die Crossover-Signale und Histogrammsignale des Modified RSI-Indikators zu verwenden, um den Markttrend zu bestimmen und Trades entsprechend der Trendrichtung zu tätigen.

Strategieprinzip

  1. Berechnung der EMA des Preises als Input für den modifizierten RSI
  2. Berechnung des modifizierten RSI-Indikators
  3. Berechnen Sie die EMA des modifizierten RSI als Signallinie
  4. Berechnen Sie die Differenz zwischen modifiziertem RSI und Signallinie als Histogramm
  5. Wenn der modifizierte RSI über die Signallinie geht und das Histogramm größer als 0 ist, wird ein Kaufsignal generiert.
  6. Wenn der modifizierte RSI unterhalb der Signallinie kreuzt und das Histogramm kleiner als 0 ist, wird ein Verkaufssignal generiert.

Strategische Vorteile

  1. Der modifizierte RSI-Indikator kann Trends im Vergleich zum traditionellen RSI-Indikator besser erfassen.
  2. Die Kombination der Crossover-Signale und Histogrammsignale des modifizierten RSI kann effektiv falsche Signale filtern
  3. Die Parameter sind anpassbar und für verschiedene Märkte und Zeitrahmen anwendbar.
  4. Das Programm ist prägnant und rechnerisch effizient

Strategische Risiken

  1. Der Modifizierte RSI-Indikator ist anfällig für falsche Signale in Bereichsmärkten
  2. Die Erfassung von Trendwendepunkten kann verzögert sein
  3. Ein einzelner Indikator ist leicht von Preislärm betroffen

Strategieoptimierungsrichtlinien

  1. Es kann mit anderen Trendindikatoren wie gleitenden Durchschnitten kombiniert werden, um die Signalzuverlässigkeit zu verbessern
  2. Ein Stop-Loss- und Take-Profit-Modul kann hinzugefügt werden, um das Risiko einer einzelnen Transaktion zu kontrollieren
  3. Die Parameter können auf der Grundlage verschiedener Marktmerkmale optimiert werden
  4. Ein Positionsmanagementmodul kann hinzugefügt werden, um Positionen dynamisch anzupassen.

Zusammenfassung

Diese Strategie nutzt die Eigenschaften des modifizierten RSI-Indikators, um ein Handelssystem aus der Perspektive des Trendfolgens aufzubauen. Der modifizierte RSI-Indikator überwindet einige der Mängel des traditionellen RSI-Indikators und verfügt über eine relativ starke Trendfangfähigkeit. Strategien, die auf einem einzigen Indikator basieren, haben jedoch oft Einschränkungen und müssen in Kombination mit anderen technischen Mitteln verbessert werden. Durch die Optimierung der Strategieparameter, die Anreicherung von Signalquellen, das Hinzufügen von Risikokontrollmodulen und andere Methoden können die Stabilität und Rentabilität dieser Strategie weiter verbessert werden.


/*backtest
start: 2023-03-23 00:00:00
end: 2024-03-28 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/
// © YogirajDange

//@version=5


// Verical lines


// // Define the times
// t1 = timestamp(year, month, dayofmonth, 09, 15) // 9:15
// t2 = timestamp(year, month, dayofmonth, 11, 15) // 11:15
// t3 = timestamp(year, month, dayofmonth, 13, 15) // 1:15
// t4 = timestamp(year, month, dayofmonth, 15, 25) // 3:25

// // Check if the current bar is on the current day
// is_today = (year(time) == year(timenow)) and (month(time) == month(timenow)) and (dayofmonth(time) == dayofmonth(timenow))

// // Draw a vertical line at each time
// if is_today and (time == t1 or time == t2 or time == t3 or time == t4)
//     line.new(x1 = bar_index, y1 = low, x2 = bar_index, y2 = high, extend = extend.both, color=color.red, width = 1)

strategy('Modified RSI')
col_grow_above = input(#02ac11, "Above   Grow", group="Histogram", inline="Above")
col_fall_above = input(#6ee47d, "Fall", group="Histogram", inline="Above")
col_grow_below = input(#e5939b, "Below Grow", group="Histogram", inline="Below")
col_fall_below = input(#dd0000, "Fall", group="Histogram", inline="Below")
EMA_length = input.int(13, 'Price_EMA', minval=1)
RSI_length = input.int(14, 'RSI_Period', minval=1)
Avg_length = input.int(5, 'RSI_Avg_EMA', minval=1)
fastMA = ta.ema(close, EMA_length)
modrsi = ta.rsi(fastMA, RSI_length)
RSIAVG = ta.ema(modrsi, Avg_length)
plot(modrsi, color=color.rgb(38, 0, 255), linewidth=2)
plot(RSIAVG, color=color.rgb(247, 0, 0))
rsiUpperBand = hline(60, 'RSI Upper Band', color=#099b0e)
//hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(40, 'RSI Lower Band', color=#e90101)

RSI_hist = modrsi - RSIAVG

//plot(RSI_hist,"RSI_Histogram", color = #c201e9, style = plot.style_columns,linewidth= 5)

plot(RSI_hist, title="RSI_Histogram", style=plot.style_columns, color=(RSI_hist>=0 ? (RSI_hist[1] < RSI_hist ? col_grow_above : col_fall_above) : (RSI_hist[1] < RSI_hist ? col_grow_below : col_fall_below)))


/////// Moving Averages 20 50 EMA

fast_ma = input.int(20, minval=2, title="Fast_EMA")
slow_ma = input.int(50, minval=2, title="Slow_EMA")

src = input.source(close, title="Source")

out = ta.ema(src, fast_ma)
out1 = ta.ema(src, slow_ma)

//plot(out, title="20 EMA", color=color.rgb(117, 71, 247), linewidth = 2)
//plot(out1, title="50 EMA", color=color.rgb(0, 0, 0), linewidth = 2)


longCondition = ((ta.crossover(modrsi, RSIAVG)) and (RSI_hist > 0))
if longCondition
    strategy.entry('B', strategy.long)

shortCondition = ((ta.crossunder(modrsi, RSIAVG)) and (RSI_hist < 0))
if shortCondition
    strategy.entry('S', strategy.short)



Mehr