
Die Bandpass-Reflexions-Strategie ist eine auf Bandpass-Filtern basierende Aktienhandelsstrategie. Sie simuliert einen Bandpass-Filter, indem sie eine cos- und cos-Funktion erstellt, um ein Kauf- und Verkaufssignal zu erzeugen. Die Strategie wird umgekehrt betrieben, d.h. gekauft oder verkauft, wenn die Ausgabe des Filters über oder unter einem bestimmten Trigger liegt.
Im Zentrum der Strategie steht der Bau eines Bandbreitungsfilters BP, der aus zwei Parametern besteht: der Zentralfrequenz und der Bandbreite. Die Zentralfrequenz bestimmt die Hauptphase, die der Filter durchläuft, und die Bandbreite bestimmt den Bereich, in dem er durchläuft. Diese Parameter bestimmen die Übertragungsmerkmale des Filters.
Die Strategie basiert auf folgenden Variablen:
Auf diese Variablen basiert die Strategie auf einem Phase-IIR-Filter:
BP = 0.5(1 - alpha)(xPrice - xPrice[2]) + beta*(1 + alpha)*nz(BP[1]) - alpha*nz(BP[2])
Wenn BP höher oder niedriger als TriggerLevel ist, wird die Strategie in die entgegengesetzte Richtung ausgeführt.
Die wichtigsten Vorteile dieser Strategie sind:
Die Strategie birgt auch einige Risiken:
Um diese Risiken zu verringern, können folgende Optimierungsmethoden in Betracht gezogen werden:
Die Strategie kann vor allem in folgenden Bereichen optimiert werden:
Zyklische und parametrische Anpassung: Anpassung von Parametern wie Length, Delta usw. in Echtzeit an die Preisentwicklung in verschiedenen Zyklen und in der jüngsten Zeitfenster, so dass der Filter dynamisch an Veränderungen der Marktumgebung angepasst wird.
Kombination von Trendbeurteilung: Auf der Grundlage eines Filters mit Durchlässigkeit, um die Richtung der Trends mit technischen Indikatoren wie MACD, MA zu bestimmen, um eine Gegenposition zu vermeiden.
Multiple-Time-Frame-Kombination: Strategie für die Bereitstellung von Signalen in mehreren Zeiträumen (z. B. 5 Minuten, 15 Minuten, 30 Minuten usw.), Signalüberprüfung zwischen verschiedenen Zeiträumen und Verbesserung der Signalgenauigkeit.
Stop-Loss-Mechanismus: Setzen Sie eine angemessene Stop-Loss-Position, aktivieren Sie die Stillstands-Stopp-Position, wenn der Verlust den Stop-Loss-Punkt erreicht hat, und kontrollieren Sie effektiv die Größe des Einzelschädels.
Durch die Optimierung der oben genannten Punkte können die Stabilität, Anpassungsfähigkeit und Profitabilität der Strategie erheblich verbessert werden.
Die Bandbreiten-Umkehrstrategie besteht darin, einen Bandbreiten-Filter zu bauen, ein nützliches Mittelfrequenzsignal zu extrahieren und kurzfristige Umkehrchancen des Preises zu erfassen, wenn der Ausgang des Filters auf der Triggerebene ist. Die Strategie ist relativ einfach und kann durch Parameteroptimierung an verschiedene Marktumgebungen angepasst werden. Die wichtigsten Optimierungsrichtungen umfassen die Anpassung des Filters, Trends, Urteile, Mehrzeitrahmenkombinationen und Stop-Loss-Mechanismen.
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 24/11/2016
// 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...
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Bandpass Filter Reversed Strategy")
Length = input(20, minval=1)
Delta = input(0.5)
TriggerLevel = input(0)
xPrice = hl2
hline(TriggerLevel, 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 > TriggerLevel, -1,
iff(BP <= TriggerLevel, 1, nz(pos[1], 0)))
if (pos == 1)
strategy.entry("Long", strategy.long)
if (pos == -1)
strategy.entry("Short", strategy.short)
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(BP, color=red, title="Bandpass Filter Strategy")