Die Strategie des Dual Bandpass Filters wurde von der Strategie übernommen, die Broder 2010 in der Zeitschrift Stocks & Commodities veröffentlichte. Sie erzeugt Handelssignale, indem sie den Wert des Bandpassfilters von Broder berechnet, um Preisschwankungen in Aktien zu erkennen.
Die wichtigsten Schritte dieser Strategie sind:
Initialisieren von Parametern einschließlich BandpasslängeLength
, SchwankungskoeffizientDelta
, kurzfristige SchwelleSellZone
, und langfristige Zone-SchwelleBuyZone
.
Berechnen des Broder-BandpassfiltersBP
mit einer Reihe trigonometrischer Funktionen.
Bestimmung der Positionsrichtung: kurz gehen, wennBP
ist überSellZone
; gehen lang, wenn unterBuyZone
Ansonsten bleibt die aktuelle Position erhalten.
Ausgangssignale: Erzeugen von langen/kurzen Signalen basierend auf der Positionsrichtung.
Setzen Sie die Balkenfarben basierend auf den Signalergebnissen.
Zeichnen Sie die Bandpassfilterkurve.
Diese Strategie erfasst kurzfristige Schwankungen mithilfe des Broder-Bandpassfilters und erzeugt Handelssignale, wenn die Schwankungen eine bestimmte Größenordnung erreichen, um dem Trend zu folgen.
Mehr Anfälligkeit für Marktschwankungen basierend auf dem Broder-Bandpassfilter, der kurzfristige Trends erfassen kann.
Die Empfindlichkeit kann durch Parameteranpassung an unterschiedliche Marktumgebungen angepasst werden.
Einfache und klare Strategie-Logik, leicht zu verstehen und umzusetzen.
Die Parameter können leicht optimiert werden, um die beste Kombination zu finden.
Die visuelle Bandpass-Filterkurve zeigt intuitiv Marktschwankungen.
Ein zu optimierter Bandpassfilter kann zu empfindlich werden und falsche Signale erzeugen.
Die Unfähigkeit, die Schwankungsendpunkte zu bestimmen, kann zu zunehmenden Verlusten führen.
Eine hohe Handelsfrequenz kann die Kosten und das Risiko von Ausrutschungen erhöhen.
Anfällig für schwarze Schwäne, die falsche Signale auslösen.
Die Parameter müssen für verschiedene Produkte und Märkte angepasst werden.
Überlegen Sie, ob Sie den Stop-Loss pro Trade auf Kontrollverlust setzen.
Verlängern Sie die Ausfahrtzeit oder fügen Sie Filter hinzu, um falsche Signale zu reduzieren.
Optimieren Sie die Parameter, um die beste Kombination zu finden, die Gewinnrate, die Gewinnquote, die Sharpe-Ratio usw. zu bewerten.
Fügen Sie Filter wie gleitende Durchschnittskreuz, Preismuster hinzu, um den Handel in nicht-trendigen Bereichen zu vermeiden.
Es sollte in Betracht gezogen werden, Parameter für den Warenkorbhandel mit mehreren Instrumenten zu kombinieren, um Risiken zu diversifizieren.
Fügen Sie Stop-Loss-Logik hinzu, um Verluste pro Handel zu kontrollieren, wie dynamische Stopps oder Trailing-Stops.
Es kann für verschiedene Trendstufen unterschiedliche Ebenen festgelegt werden.
Optimieren Sie die Eintrittssignale, um falsche Signale in verschiedenen Märkten zu vermeiden.
Ausweitung auf ein Cross-Asset-Arbitrage-System, das Preisdifferenzen zur Absicherung nutzt.
Backtest-Optimierung für die beste Auswahl von Vermögenswerten und Neuausgleichsstrategien.
Die Dual-Bandpass-Filter-Strategie beurteilt Preisschwankungen mithilfe des Bandpass-Filters von Broder
/*backtest start: 2022-10-17 00:00:00 end: 2023-10-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/09/2018 // The related article is copyrighted material from // Stocks & Commodities Mar 2010 // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Bandpass Filter Strategy ver 2.0") Length = input(20, minval=1) Delta = input(0.5) SellZone = input(5, step = 0.01) BuyZone = input(-5, step = 0.01) reverse = input(false, title="Trade reverse") hline(BuyZone, color=green, linestyle=line) hline(SellZone, color=red, linestyle=line) xPrice = hl2 hline(0, color=blue, linestyle=line) beta = cos(3.14 * (360 / Length) / 180) gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180) alpha = gamma - sqrt(gamma * gamma - 1) BP = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2]) pos = iff(BP > SellZone, 1, iff(BP <= BuyZone, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(BP, color=red, title="Bandpass Filter Strategy")