Bei der Berechnung der Risikopositionen werden die Risikopositionen in den einzelnen Sektoren berücksichtigt.

Schriftsteller:ChaoZhang, Datum: 2023-11-21 12:09:50
Tags:

img

Übersicht

Diese Strategie kombiniert einen doppelten gleitenden Durchschnitts-Crossover und einen RSI-Indikator, um die Trendrichtung und Überkauf/Überverkaufssituationen zu identifizieren. Sie geht lang, wenn die Kaufbedingungen erfüllt sind, und schließt Positionen, wenn die Verkaufsbedingungen ausgelöst werden.

Strategie Logik

Wenn der schnelle 9-Perioden- gleitende Durchschnitt den langsamen 50-Perioden-gleitenden Durchschnitt überschreitet, signalisiert er einen Aufwärtstrend in einem kürzeren Zeitrahmen, der sich mit einem Aufwärtstrend in einem längeren Zeitrahmen überschneidet, was ein typisches bullisches Signal ist.

Wenn der schnelle 9-Perioden- gleitende Durchschnitt unter den langsamen 50-Perioden-gleitenden Durchschnitt fällt, signalisiert dies den Beginn eines bärischen Marktes und bestehende Long-Positionen sollten geschlossen werden.

Analyse der Vorteile

  • Doppel gleitende Durchschnitte helfen, die allgemeine Marktrichtung zu bestimmen und einen falschen Ausbruch zu vermeiden
  • RSI-Indikator verhindert falsche Bewegungen an Wendepunkten
  • Flexibilität bei der Anpassung der gleitenden Durchschnittsperioden an verschiedene Symbole und Zeitrahmen
  • Kontrollierbare Stop-Loss-Strategie

Risikoanalyse

  • Das Crossover-Signal kann sich verzögern und einige Verluste verursachen
  • Eine falsche Einstellung der RSI-Parameter kann den besten Einstiegszeitpunkt verpassen.
  • Ich muss das Handelsvolumen beobachten, um zu sehen, ob es die Preisbewegung unterstützt.
  • Schwarze Schwäne erfordern manuelles Eingreifen

Optimierungsrichtlinien

  • Optimieren Sie die RSI-Parameter für optimale Ergebnisse
  • Einbeziehen des Handelsvolumens, um falsche Signale zu vermeiden
  • Optimale gleitende Durchschnittsperioden anhand von Symbolen und Zeitrahmen testen
  • Lose Stop-Loss, um zu vermeiden, dass Sie frühzeitig gestoppt werden

Zusammenfassung

Diese Strategie nutzt einen doppelten gleitenden Durchschnitts-Crossover, um die Richtung und den RSI zu bestimmen, um Höhen und Tiefen zu vermeiden. Es kann effektiv mittelfristige bis langfristige Trends für einen stetigen Gewinn erreichen. Aber man sollte auf die nachzuhaltende Natur von Crossover-Signalen und die Abstimmung der RSI-Parameter achten. Man muss auch den Preis mit dem Volumen korrelieren. Mit kontinuierlichem Testen und Optimieren verspricht diese Strategie noch bessere Ergebnisse.


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 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/
// © joshuajcoop01

//@version=5
strategy("Bitpanda Coinrule Template",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0


// RSI
length = input(14)
vrsi = ta.rsi(close, length)

// Moving  Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)


increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
    strategy.entry("Long", strategy.long)


// Moving  Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)


condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)

strategy.close('Long', when = condition and timePeriod)





Mehr