
Die Strategie ist eine auf Dynamikindikatoren basierende, selbst adaptierte Aktienhandelsstrategie. Sie integriert Brin-Band, Keltner-Kanal und Preis-Kompressions-Indikatoren und ermöglicht vollständig automatischen Handel mit Trendsurteilung, Breakout-Identifizierung und Stop-Loss-Exits.
Die Strategie baut hauptsächlich über die Brin-Band- und Keltner-Kanäle einen Preiskanal auf und identifiziert Kanalbruche, die ein Handelssignal bilden. Wenn der Preis den Kanal von unten nach oben durchbricht, wird ein Beobachtungs-Operation durchgeführt; Wenn der Preis den Kanal von oben nach unten durchbricht, wird ein Beobachtungs-Operation durchgeführt.
Konkret wird der Brin-Band durch die Berechnung der Standarddifferenz des Preises auf und ab getrainiert; der Keltner-Kanal durch die Berechnung des Durchschnitts des Preises ± des durchschnittlichen Schwankungsbereichs auf und abgetrainiert. Wenn beide Kanäle fdopen, wird der Kurs als ausgeglichen angesehen und auf den nächsten Durchbruch gewartet. Die Preiskompression zeigt an, ob der Preis in den beiden Kanälen komprimiert ist, und die Richtung des Kurses wird anhand der positiven und negativen Kompressionsdifferenz bestimmt.
Zusammenfassend lässt sich sagen, dass die Strategie eine Kombination aus verschiedenen Indikatoren zur Beurteilung der Preisentwicklung und einer klaren Lang- und Kurzlogik bildet, die effektiv Falschbrüche filtert und hohe Handelschancen identifiziert.
Integration mehrerer Indikatoren, hohe Urteilsfähigkeit. Kombinationen von Indikatoren ergänzen sich und können die Identifikationsgenauigkeit verbessern.
Komprimieren Sie die Differenzwerte, um falsche Durchbrüche zu reduzieren. Die Differenzwerte dienen als zusätzliche Voraussetzung, um unnötige Transaktionen zu vermeiden.
Anpassung an die Stop-Loss-Strecke und effektive Risikokontrolle. Die Stop-Loss-Strecke kann automatisch an Marktschwankungen angepasst werden, um die Verluste zu reduzieren.
Einfache Parameter-Einstellung, geeignet für die Automatisierung. Nur wenige Hauptparameter, leicht zu testen und zu optimieren, leicht in das automatisierte Handelssystem zu integrieren.
Die häufige Verlagerung von mehreren Positionen erhöht die Anzahl der Transaktionen. Bei Marktschwankungen kann es zu häufigen Off-Positionen kommen.
Unzulängliche Kennzahlen können eine gute Gelegenheit zum Training verpassen. Sie müssen ausreichend getestet und optimiert werden, um die besten Parameter zu finden.
Nur für Aktienkurse mit einer klaren Richtung, nicht für extrem schwankende Märkte. Die Indikatoren sind leicht zu verwirren und erzeugen falsche Signale.
Erhöhung der Positionskontrollmodule, Optimierung der Kapitalnutzungs-Effizienz.
Die Zugabe von dynamischen Anpassungen der Indikatorparameter durch Maschinelle Lernmodelle. So können die Indikatorparameter automatisch an unterschiedliche Perioden und Aktien angepasst werden.
Erweiterung der Stop-Loss-Strategie, Einführung von zusätzlichen Hilfsindikatoren, um zu bestimmen, wann ein Stop-Loss erfolgen soll. Nach der Verbesserung kann die Anzahl der Stop-Losses an den Schlüsselpunkten reduziert werden.
Die Strategie integriert Brin-Band, Keltner-Kanal und Preisdruck-Indikatoren zu einem klaren Beurteilungslogik- und Risikokontrollsystem. Es kombiniert Trendbeurteilung und Durchbruch-Operationen, die sich automatisch an die Situation anpassen können, um hohe Wahrscheinlichkeiten zu identifizieren. Durch die Optimierung von Parametern und die Erhöhung der Hilfsbedingungen kann die Strategie weiter verstärkt werden und wird zu einem wichtigen Werkzeug für den quantifizierten Handel.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © juliopetronilo
//@version=4
strategy("DMI/ADX/Squeeze Robot", shorttitle="DMI/ADX/SQZ", overlay=true)
// Squeeze Momentum Indicator
length = input(20, title="BB Length")
mult = input(2.0, title="BB MultFactor")
lengthKC = input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
useTrueRange = input(true, title="Use TrueRange (KC)")
source = close
basis = sma(source, length)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev
ma = sma(source, lengthKC)
rangeKC = useTrueRange ? tr : (high - low)
rangema = sma(rangeKC, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz = not (sqzOn or sqzOff)
val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0)
// DMI/ADX Plot
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
keyLevel = input(23, title="Key Level for ADX")
dirmov(len) =>
up = change(high)
down = -change(low)
truerange = rma(tr, len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx_val = abs(plus - minus) / (sum == 0 ? 1 : sum) * 100
[adx_val, plus, minus]
[sig, up, down] = adx(dilen, adxlen)
// Estrategia de Trading
strategy.entry("Buy", strategy.long, when=sqzOn and crossover(up, down) and crossover(val, 0))
strategy.entry("Sell", strategy.short, when=sqzOn and crossunder(up, down) and crossunder(val, 0))
strategy.close("Buy", when=sqzOff)
strategy.close("Sell", when=sqzOff)
// Plot de los indicadores
plot(val, color=color.blue, style=plot.style_histogram, linewidth=4)
plot(0, color=noSqz ? color.blue : sqzOn ? color.black : color.rgb(236, 238, 247), style=plot.style_cross, linewidth=2)
plot(up, color=color.blue, title="+DI")
plot(down, color=color.gray, title="-DI")
plot(keyLevel, color=color.white, title="Key Level")