RSI-Tracking-ADX-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-10 10:32:48
Tags:

Zusammenfassung

Die RSI Tracking ADX-Strategie ist eine Trend-Folge-Strategie, die den RSI-Indikator und den ADX-Indikator kombiniert. Sie verwendet den RSI-Indikator, um überkaufte und überverkaufte Bedingungen zu bestimmen, und den ADX-Indikator, um die Trendstärke zu messen.

Strategie Logik

Die Strategie verwendet hauptsächlich eine Kombination aus dem RSI-Indikator und dem ADX-Indikator zur Bestimmung von Ein- und Ausstiegen.

Eintrittsbedingungen:

  1. 20-Tage-SMA steigt;

  2. ADX stieg um mehr als 0,2 gegenüber dem Vortag, was auf eine Stärkung hinweist;

  3. RSI unter 85 um Überkauf zu vermeiden;

Oder:

  1. 20-Tage-SMA steigt;

  2. ADX steigt, liegt jedoch unter 0,2 und weist auf einen milden Trend hin;

  3. RSI unter 50, Raum für Rebound.

Ausgangsbedingungen:

  1. RSI über 75, überkauft;

  2. ADX leicht steigen, Trend schwach;

Oder:

  1. RSI über 75, überkauft;

  2. ADX stark steigen, starker Trend;

Oder:

20-Tage-SMA nimmt ab.

Die Strategie verwendet den RSI für Überkauf/Überverkauf und den ADX für den Trend, um während des Aufwärtstrends einzutreten, wenn er nicht überkauft ist, und auszutreten, wenn er überkauft ist oder der Trend abschwächt.

Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Die Kombination von RSI und ADX ermöglicht einen genaueren Trend und Überkauf/Überverkauf für bessere Ein- und Ausstiege.

  2. ADX misst die Trendstärke, um Whipsaw-Ausgänge während der Konsolidierung zu vermeiden.

  3. Der RSI verwendet lose Parameter, um mittelfristigen bis langfristigen Trends zu folgen und übermäßigen Handel zu reduzieren.

  4. Einfache Logik und einfache Umsetzung, geeignet für langfristige Anlagen.

  5. Konfigurationsfähige Parameter ermöglichen Flexibilität.

Risiken

Die wichtigsten Risiken sind:

  1. Die ADX-Verzögerung kann Trendwendepunkte verpassen, die zu größeren Verlusten führen.

  2. Der Stop-Loss kann spät während kliffartiger Kursstürze ausgelöst werden, wodurch Verluste vergrößert werden.

  3. Bei zu lockeren RSI-Parametern kann es zu einem zu langen Überkauf der Bestände kommen.

  4. Zu empfindliche ADX-Parameter können bei schwachen Trends zu Unrecht zu Ausgang führen.

  5. Die Lagerbestände können sich bei Veränderungen des Marktes ungewöhnlich verhalten.

Risikomanagement:

  1. Verwenden Sie kürzere ADX-Perioden für die Empfindlichkeit.

  2. Stärkere Stop-Loss, um Verluste zu begrenzen.

  3. Verkürzung der RSI-Perioden, um längere Überkäufe zu vermeiden.

  4. Vermeiden Sie ADX-Parameter, die zu empfindlich sind.

  5. Manuale Überschrift bei bedeutenden Marktveränderungen.

Verbesserungen

Die Strategie kann optimiert werden, indem:

  1. Ich teste RSI-Perioden für bessere Parameter.

  2. Optimierung der ADX-Perioden für die Fähigkeit, Trends zu erfassen.

  3. Zusätzliche Indikatoren wie MACD zur Bestätigung.

  4. Tests von gleitenden Durchschnittskombinationen zur Verbesserung der Einträge.

  5. Gewinngewinn und Stop-Losses hinzufügen, um das Risiko-Rendite-Verhältnis zu erhöhen.

  6. Beurteilung der Marktregime, um sie manuell an Wendepunkten zu überschreiben.

Schlussfolgerung

Die RSI-Tracking-ADX-Strategie ist eine effektive und dennoch einfache Trend-Folge-Strategie. Sie verbindet die Stärken von RSI und ADX für genaue Trend- und Überkauf-/Überverkaufsanalysen. Die Logik ist einfach und einfach zu implementieren mit Optimierungsflexibilität. Vorsicht ist gegen ADX-Verzögerung und Stop-Loss-Einstellung erforderlich. Insgesamt eignet sie sich für die mittelfristige bis langfristige Trendverfolgung und kann stetige Gewinne erzielen.


/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Copyright by Reed Asset Management registered in Shanghai, China
//该策略为上海蘆田资产管理有限公司制
//@version=2
strategy("[蘆田策略]ADX+RSI", overlay=true)

//ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) => 
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)

sig = adx(dilen, adxlen)

plot(sig, color=red, title="ADX")

//ADX+RSI Strategy Long Entry
longEntry1 = sma(close, 20) > sma(close, 20)[1] //check if the ADX is rising
longEntry2 = (adx(14, 14) - adx(14, 14)[1]) > 0.2
longEntry3 = rsi(close, 14) < 85
longEntry4 = (adx(14, 14) - adx(14, 14)[1]) > 0
longEntry5 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2
longEntry6 = rsi(close, 14) < 50

longCondition1 = longEntry1 and longEntry2 and longEntry3
longCondition2 = longEntry1 and longEntry4 and longEntry5 and longEntry6
if(longCondition1 or longCondition2)
    strategy.entry("long", strategy.long)

//ADX+RSI Strategy Long Exit
longExit1 = rsi(close, 9) > 75
longExit2 = (adx(14, 14) - adx(14, 14)[1]) > 0
longExit3 = (adx(14, 14) - adx(14, 14)[1] ) < 0.2
longExit4 = (adx(14, 14) - adx(14, 14)[1]) > 0.2
longExit5 = sma(close, 20) < sma(close,20)[1]

longExitCondition1 = longExit1 and longExit2 and longExit3
longExitCondition2 = longExit1 and longExit4
longStop1 = strategy.position_avg_price + 4 * tr
longExitCondition3 = longExit5
longStop2 = sma(close, 20)

strategy.close_all(when = longExitCondition1)
if (longExitCondition2)
    strategy.exit("exit", "long", stop = longStop1)
if (longExitCondition3)
    strategy.exit("exit", "long", stop = longStop2)
    

//Strategy


Mehr