Aktienhandel auf Basis von RSI-Indikatoren

Schriftsteller:ChaoZhang, Datum: 2024-01-30
Tags:

img

Übersicht

Dieser Artikel stellt hauptsächlich eine Aktienhandels-Pyramidenstrategie vor, die auf der Grundlage des Relative Strength Index (RSI) entwickelt wurde.

Strategieprinzip

  • Verwenden Sie den RSI-Indikator, um zu beurteilen, ob die Aktie in den Überkauf- oder Überverkaufszone eingetreten ist.
  • Wenn der RSI in den Überverkaufszone gelangt, beginnt man lang zu gehen, wenn der RSI in den Überkaufszone gelangt, beginnt man kurz zu gehen.
  • Sie können die Pyramiden-Methode anwenden, mit bis zu 7 zusätzlichen Käufen.

Analyse der Vorteile

  • Die Verwendung des RSI-Indikators zur Bestimmung der überkauften und überverkauften Bereiche kann größere Chancen zur Preisumkehr erfassen.
  • Die Pyramiden-Methode kann relativ bessere Renditen erzielen, wenn sich der Markt richtig bewegt.
  • Die Einstellung von Take Profit und Stop Loss nach jedem zusätzlichen Kauf kann Risiken kontrollieren.

Risikoanalyse

  • Der Effekt des RSI-Indikators auf die Bestimmung von überkauften und überverkauften Bereichen ist instabil und es können falsche Signale auftreten.
  • Die Zahl der zusätzlichen Einkäufe muss vernünftig festgelegt werden, denn zu viele zusätzliche Einkäufe erhöhen die Risiken.
  • Die Einstellung von Stop-Loss-Punkten muss die Volatilität berücksichtigen und kann nicht zu gering eingestellt werden.

Optimierungsrichtlinien

  • Es sollte in Betracht gezogen werden, andere Indikatoren zu kombinieren, um RSI-Signale zu filtern und die Genauigkeit der Bestimmung von Überkauf- und Überverkaufsstatus zu verbessern.
  • Sie können den Preis nach einem schwebenden Stop-Loss einstellen und sich dynamisch an die Anforderungen an Volatilität und Risikokontrolle anpassen.
  • Überlegen Sie, anpassungsfähige Parameter zu verwenden, die auf Marktbedingungen (Bulle- oder Bärenmarkt usw.) basieren.

Zusammenfassung

Diese Strategie kombiniert den RSI-Indikator mit der Pyramiden-Strategie. Beim Beurteilen der überkauften und überverkauften Status kann es durch zusätzliche Einkäufe mehr Renditen erzielen. Obwohl die Genauigkeit des RSI-Urteils verbessert werden muss, kann es durch angemessene Parameteroptimierung und Kombination mit anderen Indikatoren eine effektive Handelsstrategie bilden. Diese Strategie hat eine gewisse Universalität und ist eine relativ einfache und einfache quantitative Handelsmethode.


/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni

strategy(title='Simple RSI strategy', overlay=false)

SWperiod = 1
look = 0
OverBought = input(80, minval=50)
OverSold = input(25, maxval=50)

bandmx = hline(100)
bandmn = hline(0)

band1 = hline(OverBought)
band0 = hline(OverSold)
//band50 = hline(50, color=black, linewidth=1)
fill(band1, band0, color=color.purple, transp=98)


src = close
len = input(5, minval=1, title="RSI Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)

p = 100

//scale
hh = highest(high, p)
ll = lowest(low, p)
scale = hh - ll

//dynamic OHLC
dyno = (open - ll) / scale * 100
dynl = (low - ll) / scale * 100
dynh = (high - ll) / scale * 100
dync = (close - ll) / scale * 100

//candle color
color_1 = close > open ? 1 : 0

//drawcandle
hline(78.6)
hline(61.8)
hline(50)
hline(38.2)
hline(23.6)
plotcandle(dyno, dynh, dynl, dync, title="Candle", color=color_1 == 1 ? color.green : color.red)
plot(10, color=color.green)
plot(55, color=color.black)
plot(80, color=color.black)
plot(90, color=color.red)

long = rsi <= OverSold ? 5 : na

//Strategy
golong = rsi <= OverSold ? 5 : na

longsignal = golong  
//based on https://www.tradingview.com/script/7NNJ0sXB-Pyramiding-Entries-On-Early-Trends-by-Coinrule/
//set take profit

ProfitTarget_Percent = input(3)
Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick

//set take profit

LossTarget_Percent = input(10)
Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick


//Order Placing

strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal)

strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal)

strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal)

strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal)

strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal)

strategy.entry("Entry 6", strategy.long, when=strategy.opentrades == 5 and longsignal)

strategy.entry("Entry 7", strategy.long, when=strategy.opentrades == 6 and longsignal)



if strategy.position_size > 0
    strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 6", from_entry="Entry 6", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 7", from_entry="Entry 7", profit=Profit_Ticks, loss=Loss_Ticks)


Mehr