Basierend auf Larry Connors klassischer Strategie


Erstellungsdatum: 2023-10-27 16:32:19 zuletzt geändert: 2023-10-27 16:32:19
Kopie: 1 Klicks: 660
1
konzentrieren Sie sich auf
1617
Anhänger

Basierend auf Larry Connors klassischer Strategie

Überblick

Diese Strategie basiert auf der klassischen Strategie von Larry Connors und nutzt die doppelte Gleichgewicht-System, um die mittleren und kurzen Schwankungen des Marktes zu erfassen und die Überkaufe in den Überverkaufszonen zu ermöglichen.

Strategieprinzip

  1. Der 2-Zyklus-RSI-Indikator wird verwendet, um zu bestimmen, ob der Aktienpreis in der Überverkaufszone liegt.

  2. Die langfristige Durchschnittslinie ((200-Zyklen) wird verwendet, um die Richtung des großen Trends zu bestimmen. Es ist nur zu berücksichtigen, wenn der Preis über der langfristigen Durchschnittslinie liegt.

  3. Wenn der Preis über dem langfristigen Durchschnitt liegt und der RSI unter der Überverkaufsgrenze liegt, ist es besser, die Position nur zum Marktpreis zu eröffnen.

  4. Wenn die Preiserhöhung die kurzzeitige Durchschnittslinie ((5 Zyklen) überschreitet, wird der Preis in der Marktpreis-Plattform einmalig angehoben.

Außerdem bietet die Strategie folgende Konfigurationsoptionen:

  • RSI-Parameter: Länge des Zyklus, Position der Überkauf-Überverkaufslinie.

  • Mittellinienparameter: Lang- und Kurzmittellinien-Periode。

  • RSI-Mittellinienfilter: Hinzufügen von RSI-Mittellinienurteilen, um zu vermeiden, dass der RSI-Indikator zu stark schwankt.

  • Stop Loss-Einstellungen: Sie können wählen, ob Sie Stop Loss hinzufügen.

Analyse der Stärken

  1. Mit Hilfe eines doppelten Gleichgewichtssystems kann der Trend in der langen Linie effektiv verfolgt werden.

  2. Der RSI verhindert, dass die besten Einstiegsmomente bei starken Schwingungen verpasst werden.

  3. Flexibel konfigurierbar und optimierbar für verschiedene Parameter.

  4. Die Rundown-Breakthrough-Strategie ist nicht leicht zu übersehen.

Risikoanalyse

  1. Die Doppel-Einheit-Strategie ist parametersensibel und erfordert Optimierung der Parameter, um optimale Ergebnisse zu erzielen.

  2. Eine Stop-Loss-Einstellung birgt die Gefahr einer Vergrößerung der Verluste.

  3. Es besteht die Gefahr von Verlusten durch falsche Durchbrüche in schwankenden Verhältnissen. Die Optimierung der Durchschnittsphase oder das Hinzufügen anderer Bedingungen als Filter kann in Betracht gezogen werden.

  4. Das Risiko der Datenübereinstimmungen. Die Strategie muss über mehrere Märkte hinweg über einen längeren Zeitraum überprüft werden.

Optimierungsrichtung

  1. Testen Sie optimale Parameterkombinationen von RSI und Durchschnittslinie, um die besten Parameter zu finden.

  2. Verschiedene Eintrittsfilterbedingungen, wie z. B. eine Überschreitung des Handelsvolumens, werden getestet, um falsche Signale zu reduzieren.

  3. Ein Einzelschaden wird durch die Aufnahme von Tracking-Stopps kontrolliert. Die Auswirkungen der Stop-Loss-Einstellungen auf die Gesamtergebnisse müssen bewertet werden.

  4. Beurteilung des Einflusses von unterschiedlichen Positionszeiten auf den Gewinn und Suche nach der optimalen Positionsperiode.

  5. Die Strategie wird über längere Zeiträume (z. B. Sonnenstrahlstufen) getestet.

Zusammenfassen

Diese Strategie integriert die Überkauf-Überverkauf-Eigenschaften von Binary Equilibrium-Trend-Tracking und RSI-Indikatoren und ist ein typisches Breakthrough-System. Durch Parameteroptimierung, strenge Kapitalverwaltung und Robustheitsprüfung kann die Strategie zu einem leistungsfähigen Werkzeug für den Quantifizierungshandel werden. Die Händler müssen jedoch aufpassen, um die Anpassungsprobleme zu erkennen und die Strategie im realen Umfeld weiter anzupassen und zu verbessern, um sie an die wechselnden Marktbedingungen anzupassen.

Strategiequellcode
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("RSI Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//Starter Parameters

length = input(title="RSI Lenght", defval=2)
overBoughtRSI = input(title="OverBought Level for RSI",  defval=10)
shortLength = input(title="Short MA Length",  defval=5)
longLength = input(title="Long MA Length",  defval=200)

RuleMRSI=input(title="RSI Moving Average Filter", defval= true)
lengthmrsi=input(title="RSI Moving Average Length",  defval=4)
overBoughtMRSI=input(title="OverBought Level for the Moving Average of the RSI",  defval=30)

Rulestop=input(title="Apply Stop Loss", defval=false)
stop_percentual=input(title="% Stop Loss",  defval=10)

//RSI

vrsi = rsi(close, length)

//Moving Averages

longma = sma(close,longLength)
shortma = sma(close,shortLength)
mrsi=sma(vrsi,lengthmrsi)

//Stop Loss

stop_level = strategy.position_avg_price*((100-stop_percentual)/100)

//Backtest Period
testStartYear = input(2009, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true
    
//Strategy

if testPeriod() and (not na(vrsi))
    if  (RuleMRSI==false) and (Rulestop==false)
        if (vrsi<overBoughtRSI) and (close>longma)
            strategy.entry("RsiLE", strategy.long , comment="Open")
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==true) and (Rulestop==false)
        if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
            strategy.entry("RsiLE", strategy.long , comment="Open")
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==false) and (Rulestop==true)
        if (vrsi<overBoughtRSI) and (close>longma)
            strategy.entry("RsiLE", strategy.long , comment="Open")
            strategy.exit("RsiLE", stop = stop_level)
        if (close>shortma)
            strategy.close_all()

    if (RuleMRSI==true) and (Rulestop==true)
        if (vrsi<overBoughtRSI) and (close>longma) and (mrsi<overBoughtMRSI)
            strategy.entry("RsiLE", strategy.long , comment="Open")
            strategy.exit("RsiLE", stop = stop_level)
        if (close>shortma)
            strategy.close_all()