Kurzfristige duale Filterstrategie basierend auf SMA und RSI


Erstellungsdatum: 2023-10-08 12:14:36 zuletzt geändert: 2023-10-08 12:14:36
Kopie: 0 Klicks: 659
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie basiert auf einem einfachen Moving Average (SMA) und einem relativ starken Index (RSI). Die Strategie ist so konzipiert, dass sie bei einem RSI-Wert, der die Einstiegssignallinie durchbricht und der Schlusskurs unterhalb des SMA liegt, leer ist. Die Strategie ist so konzipiert, dass sie bei einem Stop-Loss- oder Stop-Stop-Signal die Position platziert.

Grundsätze

Die Strategie basiert auf zwei Indikatoren:

  1. SMA: Der einfache gleitende Durchschnitt der letzten 200 Tage, der die Richtung der mittleren und langen Linie darstellt.

  2. RSI: Die relativ schwache Schließung der letzten 14 Tage, die auf einen kurzfristigen Überkauf und Überverkauf hindeutet.

Wenn der RSI 51 durchschreitet und in die Überkaufzone eintritt und über der SMA liegt, bedeutet dies, dass die kurze und mittlere Linien abweichen und somit frei sind.

Setzen Sie dann eine Stop-Line und eine Stop-Line. Stoppen Sie, wenn der RSI unter 32 liegt. Stoppen Sie, wenn der RSI über 54 liegt oder wenn die Stop-Line überschritten wird.

Vorteile

  1. Die Doppel-Indikator-Filter erhöhen die Einstiegsgenauigkeit. Der RSI bestimmt die kurzfristigen Überkaufsignale, der SMA bestimmt die mittleren und langen Leerköpfe, die in Kombination zuverlässiger sind.

  2. Der Einsatz von Stop-Loss-Tracking ermöglicht es, Gewinne nach dem Marktgeschehen zu verfolgen und eine Rückführung von Gewinnen zu vermeiden.

  3. Die Strategie ist klar und einfach zu verstehen.

Die Gefahr

  1. Es wurden keine Einflussfaktoren wie Handelsvolumen und Volatilität berücksichtigt.

  2. Die RSI-Parameter sind relativ fest und können nicht für alle Sorten und Perioden gelten.

  3. Transaktionskosten, z. B. Transaktionsschlupfpunkte und -gebühren, werden nicht berücksichtigt.

  4. Die Strategie ist relativ einfach, und der Raum für die Erweiterung ist begrenzt.

Optimierung

  1. Testen und optimieren Sie die Parameter des RSI und des SMA, um die beste Kombination zu finden.

  2. Erhöhung der Stop-Loss-Methoden, wie beispielsweise Bewegungsschaden, Proportionsschaden usw.

  3. Filtern Sie in Kombination mit Trendindikatoren wie MACD, um einen negativen Handel zu vermeiden.

  4. Erwägen Sie die Einbeziehung von Volumenindikatoren, um falsche Durchbrüche mit geringen Mengen zu filtern.

Zusammenfassen

Die Strategie ist übersichtlich und hat einen gewissen praktischen Wert. Die Parameter sind jedoch eher festgesetzt und berücksichtigen keine Marktveränderungen. Darüber hinaus gibt es einige Details, die optimiert werden können. Zusammenfassend kann die Strategie als ein Beispiel für Anfänger verwendet werden, um die Doppelziffer-Filterstrategie zu verstehen.

Strategiequellcode
/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 3h
basePeriod: 15m
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/
// © abdllhatn

//@version=5
// strategy("Alpha Short SMA and RSI Strategy", overlay=true, initial_capital=10000, default_qty_value=100)

// Inputs
sma_length = input(200, title="SMA Length")
rsi_length = input(14, title="RSI Length")
rsi_entry = input(51, title="RSI Entry Level")
rsi_stop = input(54, title="RSI Stop Level")
rsi_take_profit = input(32, title="RSI Take Profit Level")

// Indicators
sma_value = ta.sma(close, sma_length)
rsi_value = ta.rsi(close, rsi_length)

var float trailingStop = na
var float lastLow = na

// Conditions
shortCondition = ta.crossover(rsi_value, rsi_entry) and close < sma_value
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    trailingStop := na
    lastLow := na

if (strategy.position_size < 0)
    if (na(lastLow) or close < lastLow)
        lastLow := close
        trailingStop := close

if not na(trailingStop) and close > trailingStop
    strategy.close("Sell")

if (rsi_value >= rsi_stop)
    strategy.close("Sell")

if (rsi_value <= rsi_take_profit)
    strategy.close("Sell")

// Plot
plot(sma_value, color=color.red, linewidth=2)