
Dieser Artikel beschreibt eine Multi-Head-Quantitative-Trading-Strategie, die auf einem relativ schwachen Index (RSI) und einem Stop-Loss basiert. Die Strategie nutzt die RSI-Indikatoren, um überverkaufte und überkaufte Marktsituationen zu bestimmen, um bei Überverkauf eine Multi-Head-Position zu eröffnen und bei Überkauf eine Bilanz zu halten. Die Strategie verwendet auch Prozentsätze für Stop-Losses, um das Risiko zu kontrollieren.
Der RSI ist ein dynamischer Schwankungsindikator, der verwendet wird, um zu messen, wie stark sich die Preise über einen bestimmten Zeitraum ändern. Seine Berechnungsformel lautet:
RS = N天内上涨幅度的平均值 / N天内下跌幅度的平均值
RSI = 100 - 100 / (1 + RS)
Dabei wird N für die Zeitperiode verwendet, in der der RSI berechnet wird.
Die Logik der Strategie lautet wie folgt:
Die Strategie versucht, Positionen zu eröffnen, wenn der Markt von den Bären zu den Bullen wechselt, und die Positionen zu Ende der Bullen zu platzieren, um die wichtigsten Aufwärtstrends zu erfassen.
Dieser Artikel beschreibt eine auf dem RSI basierende mehrköpfige Quantifizierungsstrategie. Die Strategie nutzt das RSI-Überverkauf-Überkauf-Signal, um Positionen zu platzieren und gleichzeitig das Prozentsatz-Stop-Risiko zu kontrollieren. Dies ist eine einfache, praktische Trendverfolgungsstrategie, die für Anfänger geeignet ist.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI Strategy (Long)", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = ta.rsi(price, length)
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)
// *** Signals ***
enter_long = ta.crossover(vrsi, overSold)
enter_short = ta.crossunder(vrsi, overBought)
close_long = ta.crossunder(vrsi, overBought)
close_short = ta.crossunder(vrsi, overBought)
// *** Risk management ***
entry_price = close
percent_diff = input(5)
stop_loss_price_long = (1 - percent_diff / 100.) * entry_price
stop_loss_price_short = (1 + percent_diff / 100.) * entry_price
// *** Positions ***
if enter_long and strategy.position_size == 0
strategy.entry("Long", strategy.long)
strategy.exit("SL Long", "Long", stop = stop_loss_price_long)
if enter_short and strategy.position_size == 0
strategy.entry("Short", strategy.short, qty=.001)
strategy.exit("SL short", "Short", stop = stop_loss_price_short)
if close_long
strategy.close("Long", "Exit Long")
if close_short
strategy.close("Short", "Exit Short")