Schlüsselpunktstrategie zur Marktumkehr


Erstellungsdatum: 2023-12-15 10:37:01 zuletzt geändert: 2023-12-15 10:37:01
Kopie: 0 Klicks: 754
1
konzentrieren Sie sich auf
1621
Anhänger

Schlüsselpunktstrategie zur Marktumkehr

Überblick

Diese Strategie nutzt die Breakthrough-Prinzipien des William-Indikators, kombiniert mit einer bestimmten Form der K-Linie, um ein effizientes Modell für offene und offene Positionen zu entwerfen, das es ermöglicht, an den Schlüsselfunktionen, an denen sich die Marktentwicklung umkehrt, exakt zu machen, um kurz zu sein, um die mittleren Kurzlinien zu erfassen und zusätzliche Gewinne zu erzielen.

Strategieprinzip

Diese Strategie verwendet die Spaltpunkte in der Williams-Reihe, um ein Umkehrsignal zu ermitteln. Wenn eine ober- oder unterwärtige Spaltung auftritt, wird ein Handelssignal erzeugt, wenn sie mit der Richtung der K-Linien-Einheit übereinstimmt.

Insbesondere wurde in der Strategie ein benutzerdefinierter Indikator WMX Williams Fractals definiert. In diesem Indikator wird eine Faktorfunktion verwendet, um die oberen und unteren Fraktalen zu bestimmen.

Die Logik der oberen Klassifizierung lautet: Der Höchstwert der aktuellen K-Linie ist höher als der Höchstwert der vorherigen n-K-Linie (wobei n ein modifizierbarer Parameter ist), wodurch eine brechende oberer Klassifizierung entsteht.

Die Untersortierungs-Logik lautet: Der Mindestwert der aktuellen K-Linie ist niedriger als der Mindestwert der vorherigen n-Wurzel-K-Linie, wodurch eine unterstehende Untersortierung gebildet wird.

Nach der Auf- und Unterklassifizierung wird beurteilt, ob sie sich verändert haben, also von nichts zu etwas oder von etwas zu nichts. Die Klassifizierung ist erst entstanden, was eine größere Wahrscheinlichkeit für eine Umkehrung bedeutet.

Die Richtung der K-Linien-Einheit wird dann in Verbindung gebracht, um das spezifische Handelssignal zu beurteilen. Wenn die oberste Trennung gebildet wird und das Close höher als das Open ist, macht man mehr; wenn die untere Trennung gebildet wird und das Close niedriger als das Open ist, macht man leer.

Strategische Vorteile

  1. Der William-Indikator zur Bestimmung des Umkehrpunkts ist ein bewährter und zuverlässiger technischer Indikator für die Verteilungspunkte.

  2. Bestätigung von Handelssignalen in Kombination mit der Richtung der K-Linie, um Chaos-Chops in nicht-trendigen Zonen zu vermeiden

  3. Wenige Parameter, nur n Modulierungszyklen erforderlich, leicht zu testen und zu optimieren

  4. Flexible Regeln für die Eröffnung von Positionen, wie Positionsgröße, Posierungsbedingungen usw., die einfach in der Praxis anzuwenden sind

Strategisches Risiko

  1. Nach der Klassifizierung ist es möglich, dass die Entwicklung nicht vollständig umgekehrt ist, und es ist notwendig, die Trends zu beurteilen.

  2. Die Einstellung der Schadensstopp-Position ist vorsichtig, um zu verhindern, dass die Fahrweise durch den Lärm beeinträchtigt wird.

  3. Die Parameter n müssen je nach Sorte angepasst werden, wenn die Periode zu groß oder zu klein ist.

Die Lösung:

  1. Indikatoren wie beispielsweise bewegliche Durchschnitte können eingesetzt werden, um Trends zu beurteilen und negative Positionen zu vermeiden.

  2. Dynamische Tracking-Stopps oder ein angemessener Rücknahme-Stopp

  3. Optimierung der Parameter mithilfe der Walk Forward Analysis Methode, um die besten Parameter zu finden

Richtung der Strategieoptimierung

  1. Auf der Basis von diversifizierten Umkehrstrategien kann es leicht vorkommen, dass nach mehreren Gewinnspielen erneut ein Rückschlag zu einem Verlust führt. Es kann in Betracht gezogen werden, Trendfilter hinzuzufügen, um den Handelsumfang weiter zu begrenzen und unnötige Umkehrgeschäfte zu reduzieren.

  2. Derzeit ist die Stop-Loss-Methode relativ einfach und kann nicht effektiv verfolgt werden. Es kann versucht werden, Stop-Loss-Methoden wie bewegte Stop-Loss, Zeit Stop-Loss und dynamische Stop-Loss hinzuzufügen.

  3. Derzeit wird nur die tatsächliche Richtung der K-Linie beurteilt. Wenn mehr K-Linie-Informationen wie Schattenlinie, Schließposition usw. berücksichtigt werden, können genauere Handelssignale entwickelt werden.

Zusammenfassen

Diese Strategie ist eine Umkehrstrategie, die auf technischen Indikatoren basiert. Sie nutzt die William-Index-Sortierung, um die Trendänderungen der Aktien des Indikators zu wichtigen Zeitpunkten zu erfassen, um in Verbindung mit K-Line-Einheiten ein Handelssignal zu erzeugen, um zusätzliche Gewinne zu erzielen.

Im Gegensatz zu anderen Umkehrstrategien kann diese Strategie durch parametrisches Design, klare Logik, einfache Verständnis, Parameteranpassung und einfache Prüfung direkt in den Betrieb eingesetzt werden. Der nächste Schritt besteht in der weiteren Optimierung durch Trendbeurteilung, Stop-Loss-Methode und so weiter.

Strategiequellcode
/*backtest
start: 2023-11-14 00:00:00
end: 2023-12-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © WMX_Q_System_Trading

//@version=4
SystemName="WMX Williams Fractals strategy V4"
InitCapital = 1000000
InitPosition = 100
InitCommission = 0.075
InitPyramidMax = 10
strategy(title=SystemName, shorttitle=SystemName, overlay=true, initial_capital=InitCapital, default_qty_type=strategy.percent_of_equity, default_qty_value=InitPosition, commission_type=strategy.commission.percent, commission_value=InitCommission)


//study("WMX Williams Fractals", shorttitle="WMX Fractals", format=format.price, precision=0, overlay=true)
// Define "n" as the number of periods and keep a minimum value of 2 for error handling.
n = input(title="Periods", defval=2, minval=2, type=input.integer)
h=close
l=close

factorh(High)=>
    upFractal = (                                                                                                          (High[n+2]  < High[n]) and (High[n+1]  < High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n]))
             or (                                                                               (High[n+3]  < High[n]) and (High[n+2]  < High[n]) and (High[n+1] == High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n]))
             or (                                                    (High[n+4]  < High[n]) and (High[n+3]  < High[n]) and (High[n+2] == High[n]) and (High[n+1] <= High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n]))
             or (                          (High[n+5] < High[n]) and (High[n+4]  < High[n]) and (High[n+3] == High[n]) and (High[n+2] == High[n]) and (High[n+1] <= High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n]))
             or ((High[n+6] < High[n]) and (High[n+5] < High[n]) and (High[n+4] == High[n]) and (High[n+3] <= High[n]) and (High[n+2] == High[n]) and (High[n+1] <= High[n]) and (High[n-1] < High[n]) and (High[n-2] < High[n]))
    upFractal
upFractal=factorh(h)
factorl(Low)=>
    dnFractal = (                                                                                                  (Low[n+2]  > Low[n]) and (Low[n+1]  > Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n]))
             or (                                                                         (Low[n+3]  > Low[n]) and (Low[n+2]  > Low[n]) and (Low[n+1] == Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n]))
             or (                                                (Low[n+4]  > Low[n]) and (Low[n+3]  > Low[n]) and (Low[n+2] == Low[n]) and (Low[n+1] >= Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n]))
             or (                        (Low[n+5] > Low[n]) and (Low[n+4]  > Low[n]) and (Low[n+3] == Low[n]) and (Low[n+2] == Low[n]) and (Low[n+1] >= Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n]))
             or ((Low[n+6] > Low[n]) and (Low[n+5] > Low[n]) and (Low[n+4] == Low[n]) and (Low[n+3] >= Low[n]) and (Low[n+2] == Low[n]) and (Low[n+1] >= Low[n]) and (Low[n-1] > Low[n]) and (Low[n-2] > Low[n]))
    
dnFractal=factorl(l)

U=valuewhen(upFractal[0]!= upFractal[1],l[0],3)
L=valuewhen(dnFractal[0]!=dnFractal[1],h[0],3)

longcon=crossover(close ,L) and close>open
shortcon=crossunder(close ,U) and close<open

if longcon
    
    strategy.entry("Long", strategy.long,   when = strategy.position_size <= 0 )
    
if  shortcon
    strategy.entry("Short", strategy.short,  when = strategy.position_size >= 0 )