Quantitative Handelsstrategie mit doppelten Indikatoren

Schriftsteller:ChaoZhang, Datum: 2024-01-15 12:18:53
Tags:

img

Übersicht

Die Strategie trägt den Namen Quantitative Trading Dual Indicator Strategy. Sie verwendet sowohl Bollinger Bands als auch den Relative Strength Index (RSI) als Handelssignale, um eine dual-indicator-filterte Handelsstrategie umzusetzen.

Strategie Logik

Die Kernlogik dieser Strategie besteht darin, sowohl Bollinger-Bänder als auch RSI zu verwenden, um überkaufte und überverkaufte Bedingungen auf dem Markt für das Handelssignalfiltern zu beurteilen.

Der Relative Strength Index (RSI) kann die Stärke der Marktkräfte beurteilen. Der RSI über 55 ist ein Überkaufssignal und unter 45 ein Überverkaufssignal.

Die Strategie ist so eingerichtet, dass Kauf- oder Verkaufsgeschäfte nur durchgeführt werden, wenn Bollinger-Bänder und RSI gleichzeitig überkaufte oder überverkaufte Signale anzeigen.

Vorteile der Strategie

Der größte Vorteil dieser Strategie ist die Verwendung von doppelten Indikatoren zur Filterung, die irreführende Trades reduzieren und die Signalzuverlässigkeit verbessern kann.

Im Vergleich zu einem einzigen Bollinger Bands-Indikator kann die Dual-Indikator-Strategie die Wahrscheinlichkeit falscher Signale erheblich reduzieren.

Insgesamt berücksichtigt die Doppelindikatorstrategie umfassend mehrere Situationen und weist eine bessere Anpassungsfähigkeit und Stabilität auf.

Risiken der Strategie und Lösungen

Das Hauptrisiko dieser Strategie besteht darin, dass die Parameter-Einstellungen sowohl der Bollinger Bands als auch des RSI unangemessen sein können. Wenn die Parameter der Bollinger Bands zu empfindlich eingestellt sind, ist es anfällig für redundante Signale. Wenn die RSI-Parameter zu locker eingestellt sind, wird der Effekt geschwächt.

Darüber hinaus bedeutet die Dual-Indikator-Kombination selbst weniger Signale. Wenn der Markt nur die Signale eines Indikators erfüllt, während der andere das Trigger-Level nicht erreicht hat, wird diese Strategie keine Signale erzeugen. Daher wird die Handelsfrequenz dieser Strategie im Vergleich zu Einzelindikator-Strategien geringer sein.

Die Lösungen umfassen hauptsächlich die Festlegung geeigneter Parameter, die Änderung der Auslösewerte für RSI und Bollinger Bands usw. Wenn die Handelsfrequenz zu niedrig ist, sollten Sie die Parameteranforderungen reduzieren, um die Einstiegsmöglichkeiten zu erhöhen.

Optimierungsrichtlinien

Diese Strategie kann in folgenden Aspekten optimiert werden:

  1. Test verschiedene Kombinationen von Bollinger Bands und RSI-Parametern, um bessere Übereinstimmungen zu finden.

  2. Derzeit gibt es keine Überlegungen in dieser Hinsicht.

  3. Verwenden Sie dynamische Positionsgrößen, um Positionen zu erhöhen, wenn der Trend gut läuft, und Verluste zu reduzieren, wenn der Trend schlecht läuft.

  4. Zusätzliche Parameter-Selbstanpassung basierend auf historischen Daten ermöglicht die automatische Optimierung der Indikatorparameter an die neuesten Marktbedingungen.

Schlussfolgerung

Als eine doppelte Indikator-filterte Strategie hat diese Strategie eine gute allgemeine Stabilität und Anpassungsfähigkeit. Während sie den Anteil falscher Signale reduziert, reduziert sie auch die Handelsfrequenz. Durch die Optimierung der Indikatorparameter und das Hinzufügen von Hilfsfunktionen kann das Gewinnpotenzial der Strategie weiter gesteigert werden.


/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-11 23:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Bollinger Bands + RSI, Double Strategy (by SlumdogTrader)", shorttitle="BolBand_RSI_Strat", overlay=true)

// SlumdogTrader's Bollinger Bands + RSI Double Strategy - Profit Trailer
//
// Version 1.0
// Script by SlumdogTrader on July Fri 13(!), 2018.
//
// This strategy uses a normalise Bollinger Bands + RSI.
//
// Bollinger Band triggers
// SELL - when the price is above the upper band.
// BUY - when the price is below the lower band.
//
// RSI triggers
// SELL - when the price is above 55.
// BUY - when the price is below 45.
//
// This simple strategy only triggers when
// both the BB and the RSI
// indicators, at the same time, are in
// a overbought or oversold condition.
//
// Visit my TradingView work at:
// https://www.tradingview.com/u/SlumdogTrader/
//
// Visit my website at:
// https://www.slumdogtrader.com
//

///////////// Bollinger Bands Settings
BBlength = input(20, minval=1,title="Bollinger Bands SMA Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
price = input(close, title="Source")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="BBs SMA Basis Line")
p1 = plot(BBupper, color=silver,title="BBs Upper Line")
p2 = plot(BBlower, color=silver,title="BBs Lower Line")
fill(p1, p2)

///////////// RSI Settings
RSIlength = input( 16 ,title="RSI Period Length")
RSIvalue = input( 45 ,title="RSI Value Range")
RSIoverSold = 0 + RSIvalue
RSIoverBought = 100 - RSIvalue
vrsi = rsi(price, RSIlength)


///////////// Colour Settings
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) ? red : RSIoverSold and (price[1] < BBlower and price > BBlower)  ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")

    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short, stop=BBupper,  comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)


Mehr