RSI-Indikator Kreuzzyklusgewinn- und Stop-Loss-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-06 11:43:11
Tags:

img

Übersicht

Diese Strategie verwendet den RSI-Indikator, um den Eintrittszeitpunkt durch Kreuzzyklusurteile zu bestimmen, und übernimmt den ATR-Gewinn- und Stop-Mechanismus für Trendverfolgungsstrategien.

Strategieprinzip

Die Strategie verwendet zunächst die SMA-Gleichungstechnologie, um den gleitenden Durchschnitt von 26 Wochen als Maßstab für die Beurteilung des Bullenmarktes zu berechnen. Berechnen Sie dann den 4-wöchigen RSI-Indikatorwert, wenn er im Überverkaufszone unter 30 fällt, wird davon ausgegangen, dass der Markt sich erholen kann. Beurteilen Sie zu diesem Zeitpunkt, ob das neue High des Shortdays-Parameters das neue High des Longdays-Parameters durchbrechen kann, was darauf hindeutet, dass sich der kurzfristige Trend stärkt. Wenn die oben genannten Bedingungen gleichzeitig erfüllt sind, wird ein Long-Signal ausgegeben.

Nach dem Markteintritt verwenden Sie die ATR-Indikatormultiplikatoren als Gewinnspanne und halten Sie den Verlust bei einem bestimmten Prozentsatz des Schlusskurshochs.

Vorteile der Strategie

Die Strategie weist folgende Vorteile auf:

  1. Verwenden Sie den RSI-Indikator, um Umkehrpunkte mit guter Timing-Fähigkeit zu bestimmen.

  2. Verwenden Sie den neuen Höhen- und Tiefenmechanismus, um falsche Signale zu vermeiden.

  3. Verwenden Sie ATR, um Gewinn zu erzielen und Stop-Loss, um automatisch den optimalen Ausgangspunkt zu verfolgen.

  4. Flexible Parameter-Einstellungen können auf optimale Werte eingestellt werden.

  5. Die Strategieidee ist klar und leicht verständlich, mit starker Stabilität.

Risiken der Strategie

Die Strategie birgt außerdem folgende Risiken:

  1. Der RSI-Indikator kann ein falsches Signal ausgeben, was zu einem falschen Timing führt.

  2. Die ATR-Gewinnspanne kann zu groß oder zu klein eingestellt werden, um einen maximalen Gewinn zu erzielen.

  3. Der Stop-Loss-Punkt ist zu nahe und kann durchbrochen werden.

  4. In den meisten Fällen ist es nicht möglich, die Rentabilität der Strategie zu überschätzen, wenn nicht ausreichende Daten aus den Rückversuchen vorliegen.

Optimierung der Strategie

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Testen und optimieren Sie RSI-Parameter und Gewinn- und Verlustmultiplikatoren, um die beste Parameterkombination zu finden.

  2. Erhöhung anderer Indikatoren zur Verbesserung der Strategiegenauigkeit wie MACD, KD usw.

  3. Der Stop-Loss-Mechanismus wird optimiert und entsprechend dem ATR-Fluctuationsbereich dynamisch angepasst.

  4. Testen Sie den Effekt auf die Performance verschiedener Handelsvarietäten und wählen Sie Varietäten mit guter Liquidität und hoher Volatilität.

  5. Vergleichen Sie die Leistung verschiedener Arten von Stop-Losses, z. B. proportionaler Stop-Loss, bewegender Stop-Loss usw.

Zusammenfassung

Der Gesamtbetrieb dieser Strategie ist klar und reibungslos, die Indikatorauswahl und Parameter-Einstellungen sind vernünftig und hat eine starke Praktikabilität. Es gibt noch Raum für weitere Verbesserungen durch Parameteroptimierung und Mechanismusverbesserung. Insgesamt hat die Strategie eine relativ hohe Fähigkeit, stabile Gewinne zu erzielen. Es lohnt sich, in realen Transaktionen zu debugen und in Gebrauch zu nehmen.


/*backtest
start: 2023-02-05 00:00:00
end: 2024-01-18 05:20:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//A translation from info found at http://backtestwizard.com/swing-trading-system-for-stocks/
strategy("Swing Trading System RSI", overlay=true)
source = close[1]

longperiod = input(26,"long week",minval=2,maxval=500,step=1)
s = request.security(syminfo.tickerid, "W", sma(close[1], longperiod)) // 1 Day
plot(s)

shortdays = input(21,"short days high period",minval=2,maxval=500,step=1)
longdays = input(50,"long days high period",minval=2,maxval=500,step=1)
rsiperiod = input(4,"rsi period",minval=2,maxval=500,step=1)
rsithresh = input(30,"rsi thresh",minval=2,maxval=500,step=1)

highcheck = highest(source,shortdays) == highest(source,longdays)
rsicheck = crossunder(rsi(source,rsiperiod),rsithresh)

longCondition = (highcheck) and (rsicheck) and source > s
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

profittarget = input(3,"profit target",minval=2,maxval=500,step=1)
stoploss = input(2,"stop target",minval=2,maxval=500,step=1)

exitCondition1 = source > strategy.position_avg_price + (atr(50) * profittarget)
exitCondition2 = source <  strategy.position_avg_price - (atr(50) * stoploss)

if (exitCondition1)
    strategy.close_all()
if (exitCondition2)
    strategy.close_all()


Mehr