
Die Strategie führt zu Über- oder Untertriebenen, wenn sie die festgelegten Parameter erfüllt. Sie verfügt über einen adaptiven Ausstiegsmechanismus, der den Zeitpunkt des Ausstiegs aus der aktuellen Position anhand der jüngsten Änderung des Eröffnungs- und Schlusskurses bestimmen kann.
Die Kernlogik der Strategie basiert auf der Größenverhältnis zwischen dem Eröffnungspreis und dem Schließungspreis, um die Richtung zu bestimmen. Insbesondere, wenn der Schließungspreis größer ist als der Eröffnungspreis über dem eingestellten Schwellenwert Val1, wird ein Mehr-Signal erzeugt; wenn der Eröffnungspreis größer ist als der Schließungspreis über dem Schwellenwert Val1, wird ein Schließsignal erzeugt.
In der Code-Implementierung definiert die Strategie zunächst die Bedingungen für Long- und Short-Positions, und dann tritt sie ein, wenn sie der Logik des Positionsbaus entspricht. Danach wird kontinuierlich geprüft, ob die Ausstiegsbedingungen ausgelöst wurden. Sobald die Ausstiegsbedingungen erfüllt sind, werden die Flachstellungen ausgeführt. Die Strategie überwacht daher die Marktveränderungen in Echtzeit und ist anpassungsfähig und flexibel.
Die bi-directional Breakthrough Adaptive Trading Strategie hat folgende Vorteile:
Obwohl diese Strategie einige Vorteile hat, gibt es folgende Risiken:
Diese Risiken müssen während der Realisierung sorgfältig beobachtet und die Parameter oder Algorithmen rechtzeitig angepasst oder optimiert werden.
Die Strategie kann vor allem in folgenden Bereichen optimiert werden:
Durch die Optimierung von Algorithmen und Modellen kann die Stabilität und Profitabilität der Strategie insgesamt verbessert werden.
Die bi-directional Breakthrough Adaptive Trading Strategy kombiniert Trendbeurteilung und Adaptive Exit, zwei Mechanismen, um das Risiko effektiv zu kontrollieren. Die einfachen Prinzipien und die flexiblen Parameter machen die Strategie leicht zu verstehen und zu erweitern, eine quantitative Strategie, die empfohlen und in die Tiefe untersucht werden sollte.
/*backtest
start: 2023-01-30 00:00:00
end: 2024-02-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true, calc_on_order_fills=true) // Repaint?
// strategy("Repaint in version 3", overlay=true, calc_on_every_tick=true) // Correct
val1 = input(123)
val2 = input(234)
from_year=input(2018, minval=2000, maxval=2020)
from_month=input(6, minval=1, maxval=12)
from_day=input(1, minval=1, maxval=31)
to_year=input(2019, minval=2007, maxval=2020)
to_month=input(12, minval=1, maxval=12)
to_day=input(31, minval=1, maxval=31)
long = (close-open) > val1
short = (open-close) > val1
exitLong = (open-close) > val2
exitShort = (close-open) > val2
term = true
strategy.entry("LONG", strategy.long, when=long and term)
strategy.close("LONG", when = exitLong and not short and term)
strategy.entry("SHORT", strategy.short, when=short and term)
strategy.close("SHORT", when = exitShort and not long and term)