Preiskanalroboter-Whitebox-Strategie


Erstellungsdatum: 2024-02-28 17:51:14 zuletzt geändert: 2024-02-28 17:51:14
Kopie: 0 Klicks: 622
1
konzentrieren Sie sich auf
1617
Anhänger

Preiskanalroboter-Whitebox-Strategie

Überblick

Die Price Channel Robotic White Box Strategie ist eine einfache mechanisierte Handelsstrategie, die auf dem Preiskanal-Indikator basiert. Sie verwendet die oberen und unteren Grenzen des Preiskanals, um die Ein- und Ausstiegszeiten zu bestimmen. Die Strategie wird als longtime und alsshortime bezeichnet.

Strategieprinzip

Die Kernlogik der White-Box-Strategie der PATH-Roboter ist:

  1. Berechnen Sie mit der Funktion “highest” und “lowest” die höchsten und niedrigsten Preise für die jüngste Len-Wurzel K-Linie, die als Obergrenze und Untergrenze des Preiskanals definiert sind
  2. Berechnen Sie die Preiskanal-Mittelpreise: ((Höchster Preis + niedrigerer Preis) / 2
  3. Wenn der Preis die Obergrenze des Preiskanals überschreitet, wird ein Überlagerungsprozess durchgeführt.
  4. Wenn der Preis die untere Grenze des Preiskanals überschreitet, wird ein freier Lager geöffnet.
  5. Wenn der Preis zurück zum Mittelwert des Preiskanals fällt, ist die Niederlage

Die Strategie hat auch einige konfigurierbare Parameter:

  • Preiskanallänge len: Standard 50 K-Linien
  • Art der Lageröffnung: Mehrköpfe, einzeln konfigurierbare Leerköpfe
  • Der Betrag, der für die Eröffnung der Position verwendet wird, ist 100% des Kontoanteils.
  • Stopp: Sie können wählen, ob Sie den Mittelwert des Preiskanals als Stopp verwenden
  • Handelszeiten: Nur für den angegebenen Datumsbereich konfigurierbar

Durch die Anpassung dieser Parameter kann die Strategie besser an die verschiedenen Sorten und Marktbedingungen angepasst werden.

Analyse der Stärken

Die White-Box-Strategie des Preiskanal-Roboters hat folgende Vorteile:

  1. Die Strategie ist einfach zu verstehen und umzusetzen.
  2. Der Preiskanal wird genutzt, um Trends und Umkehrungen zu beurteilen
  3. Mehr konfigurierbare Parameter und eine hohe Anpassungsfähigkeit
  4. Eingebettete Stop-Loss-Mechanismen, um Verluste zu begrenzen
  5. Unterstützung für Zeitfilter und Vermeidung von Folgen von Großereignissen

Insgesamt ist die Strategie eine einfache und praktische Trend-Tracking-Strategie, die nach Optimierung der Parameter gute Ergebnisse erzielt.

Risikoanalyse

Die White-Box-Strategie der Preiskanalroboter birgt auch einige Risiken:

  1. Der Preiskanalindikator ist parametersensibel, wobei verschiedene Zeiträume und Sorten unabhängig getestet und optimiert werden müssen.
  2. Verfolgung von Stop-Losses mit Risiken von Arbitrage, die die Stop-Loss-Distanz an die Marktfluktuation anpassen müssen
  3. In schwankenden und schwankenden Verhältnissen entstehen mehr unbedeutende Transaktionen, was zu höheren Transaktionskosten und Verlusten bei Schwankungen führt.

Um diese Risiken zu verringern, müssen Optimierungen in folgenden Bereichen vorgenommen werden:

  1. Parameter automatisch optimieren mit der Walk Forward Analysis Methode
  2. Die Wahrscheinlichkeit, dass ein Stop-Loss-Preis in eine Bufferzone eingegeben wird, um eine Abriebung zu vermeiden
  3. Erhöhung der Trendbeurteilung und Vermeidung von Transaktionen in schwankenden Märkten

Optimierungsrichtung

Die White-Box-Strategie für die Preiskanale-Roboter hat noch Raum für weitere Optimierungen:

  1. Mehr Beurteilung von Großzyklischen Trends und Vermeidung von Gegenhandel
  2. Die Parameter werden in Kombination mit den Preisunterschieden zwischen den verschiedenen Sorten festgelegt, um die Arbitragechancen zu nutzen.
  3. Zufällige Bufferzonen in den Stop-Loss-Preis, um die Gefahr von Absenkung zu verringern
  4. Preiskanalparameter, die dynamisch an die Marktfluktuation angepasst werden
  5. Agent-Optimierungsstrategien für spezifische Sorten mit Deep-Learning-Methoden trainieren

Durch diese Optimierungsmechanismen soll die Stabilität und Profitabilität der Strategie weiter verbessert werden.

Zusammenfassen

Die Price-Channel-Robot-White-Box-Strategie ist eine einfache, aber praktische Trend-Tracking-Strategie. Sie beurteilt die Richtung und den Wendepunkt des Trends anhand der Price-Channel-Indikatoren und trifft auf diese Weise Handelsentscheidungen. Die Strategie ist leicht zu verstehen und zu implementieren und bietet nach Optimierung der Parameter eine gute Rendite.

Strategiequellcode
/*backtest
start: 2023-02-21 00:00:00
end: 2024-02-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro

//@version=4
strategy(title = "Robot WhiteBox Channel", shorttitle = "Robot WhiteBox Channel", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstop = input(true, defval = true, title = "Stop-loss")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
len = input(50, minval = 1, title = "Price Channel Length")
showll = input(true, defval = true, title = "Show lines")
showbg = input(false, defval = false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Price Channel
h = highest(high, len)
l = lowest(low, len)
center = (h + l) / 2

//Lines
pccol = showll ? color.black : na
slcol = showll ? color.red : na
plot(h, offset = 1, color = pccol)
plot(center, offset = 1, color = slcol)
plot(l, offset = 1, color = pccol)

//Background
size = strategy.position_size
bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na
bgcolor(bgcol, transp = 70)

//Trading
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
if h > 0
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = h, when = strategy.position_size <= 0 and truetime)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = l, when = strategy.position_size >= 0 and truetime)
    strategy.entry("S Stop", strategy.long, 0, stop = center, when = strategy.position_size[1] <= 0 and needstop)
    strategy.entry("L Stop", strategy.short, 0, stop = center, when = strategy.position_size[1] >= 0 and needstop)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")