Bollinger Band Moving Average Crossover-Strategie


Erstellungsdatum: 2024-01-30 16:37:47 zuletzt geändert: 2024-01-30 16:37:47
Kopie: 0 Klicks: 704
1
konzentrieren Sie sich auf
1617
Anhänger

Bollinger Band Moving Average Crossover-Strategie

Überblick

Die Strategie basiert auf der Kreuzung von Bollinger Bands und Moving Averages, um Kauf- und Verkaufsprozesse durchzuführen. Die Bollinger Bands-Indikatoren werden hauptsächlich in 5-Minuten-Zeiträumen verwendet, um die Preisschwankungen zu bestimmen. In Kombination mit den Moving Averages wird die Richtung der Tendenz ermittelt und eine Handelsstrategie entwickelt, die auf der Kreuzung von Bollinger Bands auf den unteren und mittleren Bahnen basiert.

Strategieprinzip

  1. Die Ober- und Untergrenze für die Bewertung von Preisen mit dem Brin-Band-Indikator. Die Brin-Band-Mitte ist ein einfacher Moving Average von 20 Perioden, die obere Spur ist die mittlere Spur plus das Doppelte der Standarddifferenz, die untere Spur ist die mittlere Spur minus das Doppelte der Standarddifferenz.

  2. Wenn der Schlusskurs von der unteren Bahnlinie nach oben bricht, zeigt dies, dass der Preis in die bullish-Momentum beginnt, zu diesem Zeitpunkt ist die Kauf- und Börsengang.

  3. Wenn der Schlusskurs die mittlere Bahnlinie des Brin-Bands überschreitet, bedeutet dies, dass der Preis über die mittlere Bahn gestiegen ist. Die Position wird abgeschlossen und die Runde beendet.

  4. Wenn der Schlusskurs von der oberen Bahnlinie nach unten bricht, zeigt dies, dass der Preis in eine Abwärtsbewegung eintritt und eine Verkaufsposition eröffnet wird.

  5. Wenn der Schlusskurs unter die Brin-Band-Mittelbahn fällt, bedeutet dies, dass der Preis unter die Mittelbahn gefallen ist, und die Position wird abgeschaltet und die Runde beendet.

Analyse der Stärken

  1. Die Strategie nutzt die Eigenschaften des Brin-Bands, um die Chancen eines Preisaufschwungs aus der Unterbahn und eines Rückschlags aus der Oberbahn rechtzeitig zu erfassen, um die Verluste zu vermeiden, die durch die verpassten Umkehrmöglichkeiten entstehen.

  2. Durch den Kauf und Verkauf an den Schlüsselpositionen und die Einrichtung eines vernünftigen Stop-Losses ist es möglich, bei einer Rinder-Bären-Umstellung schnell die Richtung zu wechseln, um bessere Gewinne zu erzielen.

  3. Die Handelsfrequenz ist moderat. Die Handelssignale basieren auf 5-Minuten-Linien, die sowohl kurzfristige Trends erfassen als auch die Handelskosten durch zu häufige Transaktionen erhöhen.

Risikoanalyse

  1. Die Bollinger Bands fallen zu schnell zusammen. Die Bollinger Bands fallen zu schnell zusammen, wenn die Marktpreise stark schwanken, was zu einem falschen Durchbruch führt und zu falschen Signalen führt. In diesem Fall müssen die Parameter angepasst oder der Handel ausgesetzt werden.

  2. Stop-Loss-Risiken. Wenn ein Stop-Loss zu klein ist, kann er leicht durchbrochen werden. Wenn ein Stop-Loss zu groß ist, kann es zu großen Verlusten führen.

  3. Risiken von zu hohen Transaktionskosten. Wenn die Transaktionsfrequenz zu hoch ist, werden die Transaktionskosten deutlich erhöht. Die Parameter müssen entsprechend angepasst werden, um die Transaktionsfrequenz zu senken.

Optimierungsrichtung

  1. Optimierung der Brin-Band-Parameter. Verschiedene Periodenspiele und Standarddeviationsparameter können getestet werden, um die Kombination von Parametern zu finden, die am besten für den Schwingungsbereich der Sorte geeignet sind.

  2. In Kombination mit anderen Indikatoren können andere Faktoren wie KDJ, MACD usw. hinzugefügt werden, um das Problem zu vermeiden, dass Brin mit einer einzigen Indikatorentscheidung ein falsches Signal verursacht.

  3. Optimierte Stop-Loss-Strategien. Precise Stop-Loss-Strategien können durch die Verfolgung von Preisänderungen in Echtzeit erreicht werden. Andere Stop-Loss-Strategien wie Lagerbestandslinien können verwendet werden.

Zusammenfassen

Die Strategie ist insgesamt relativ stabil und hat eine gewisse Ertragsfähigkeit. Durch die Optimierung der Parameteranpassung und Stop-Loss-Strategie kann das Handelsrisiko weiter reduziert und gute Gewinne in schwankenden Zeiten erzielt werden. Die Strategie verdient weitere Tests und Optimierungen und hat gute Aussichten auf Einsatz in der Praxis.

Strategiequellcode
/*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=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © theTradeAI

strategy('TradeAI - 5min AUDNZD Strategy', overlay=true)

//////////////////////////////
//////// STOP ORDERS DETECTING
//////////////////////////////

length = input(1)

h = ta.highest(high, length)
l = ta.lowest(low, length)

//////////////////////////////
//////// EMAS
//////////////////////////////

emaLenght = input.int(200)

ema200 = ta.ema(close,emaLenght)

//////////////////////////////
//////// BOLLINGER BANDS
//////////////////////////////

length1 = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")

ma(source, length1, _type) => 
    switch _type
        "SMA" => ta.sma(source, length1)
        "EMA" => ta.ema(source, length1)
        "SMMA (RMA)" => ta.rma(source, length1)
        "WMA" => ta.wma(source, length1)
        "VWMA" => ta.vwma(source, length1)

basis = ma(src, length1, maType)
dev = mult * ta.stdev(src, length1)
upperr = basis + dev
lowerr = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)


//////////////////////////////
//////// ENTRY & EXIT
//////////////////////////////

// Buy entry
if ta.crossover(lowerr, close)
    strategy.entry('long', strategy.long, stop=h)

// Buy entry CANCEL
if close > lowerr
    strategy.cancel('long')

// Buy exit
if close > basis
    strategy.close('long')

// Sell entry
if ta.crossunder(upperr, close)
    strategy.entry('short', strategy.short, stop=l)

// Sell entry CANCEL
if close < upperr
    strategy.cancel('short')

// Sell exit
if close < basis
    strategy.close('short')