
Durchschnittsschritt-Handelsstrategien suchen nach potenziellen Kauf- und Verkaufsmöglichkeiten, indem sie die Schritt- und Verteilungsphasen des Marktes identifizieren und die Vektoranalyse anwenden, unterstützt durch die Beurteilung von Sprung- und Umkehrformen.
Die Vergrößerungs- und Verteilungsphase wird durch die Überschneidung von Mittellinien verschiedener Längen erkannt. Die Vergrößerungsphase wird beurteilt, wenn die Mittellinie mit der Länge AccumulationLength über dem Schlusskurs verlegt wird. Die Verteilungsphase wird beurteilt, wenn die Mittellinie mit der Länge DistributionLength unter dem Schlusskurs verlegt wird.
Durchschnittslinien mit unterschiedlichen Längen werden verwendet, um Sprungbogenformen und Umkehrformen zu erkennen. Wenn die Durchschnittslinie mit der Länge SpringLength am Tiefpunkt ist, wird sie als Sprungbogenformen beurteilt; wenn die Durchschnittslinie mit der Länge UpthrustLength unter dem Höhepunkt ist, wird sie als Umkehrformen beurteilt.
Bei der Vergrößerung, wenn die Form des Sprungbogens beobachtet wird, mehr; bei der Verteilung, wenn die Umkehrform beobachtet wird, leere.
Setzen Sie den Stop-Loss-Level. Der Long-Stop-Loss-Preis ist der Schlusskurs ((1 - Stop-Loss-Prozent%), der Short-Stop-Loss-Preis ist der Schlusskurs ((1 + Stop-Loss-Prozent%).
In den Diagrammen sind die Verlaufphase, die Verteilungsphase, die Sprungbogenform und die Umkehrform zu erkennen.
Die Verwendung von Vektor-Analysen zur Identifizierung der Stufen der Akkumulation und Verteilung von Markttrends kann die Zuverlässigkeit von Handelssignalen verbessern.
Die Kombination von Sprungbogen- und Umkehrform kann die Handelssignale weiter verifizieren.
Die Stop-Loss-Einstellung kann einzelne Verluste wirksam kontrollieren.
Wenn Sie die Diagramme markieren, können Sie den gesamten Prozess der Erhöhung der Stromversorgung deutlich beobachten.
Die Strategie ist flexibel und kann für verschiedene Märkte und Handelszyklen optimiert werden.
Aggregation kann dazu führen, dass ein Gleichschaltsignal ein falsches Signal abgibt.
Die Schiebe- und Umkehrform kann ausfallen.
Ein Überschreiten der Stop-Loss-Regelung kann zu einem weiteren Verlust führen.
Die Parameter müssen für verschiedene Märkte angepasst werden, was zu Fehlsignalen führen kann.
Die automatischen Handelssysteme sind möglicherweise nicht flexibel genug, um die Rückkehr zu den Straßen zu überwachen.
Die optimale Kombination von Parametern, die in verschiedenen Märkten unter verschiedenen Perioden getestet werden können.
Um das Transaktionssignal zu bestätigen, kann die Einbeziehung von Faktoren wie der Transaktionsmenge in Betracht gezogen werden.
Der Stop-Loss kann dynamisch eingestellt werden, wobei der Stop-Loss-Level je nach Marktschwankungen angepasst wird.
Es kann in Erwägung gezogen werden, grundlegende Faktoren hinzuzufügen, um falsche Transaktionen zu wichtigen Zeitpunkten zu vermeiden.
Dynamische Optimierungsparameter können mit einem Machine-Learning-Algorithmus eingebunden werden.
Die Strategie hat die Vorteile eines zuverlässigen Handelssignals, eines kontrollierbaren Risikos und einer klaren visuellen Darstellung. Als mechanisches Handelssystem muss jedoch die Rücklaufzeit und die Adaptivität der Parameter noch verbessert werden. Die zukünftige Optimierungsrichtung besteht in der Optimierung der Parameterpalette, der Bestätigung von Transaktionen, der Optimierung von Stop-Losses und der Einbeziehung wichtiger Fundamentaldaten.
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
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/
// © deperp
//@version=5
strategy("Wyckoff Range Strategy", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)
// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")
// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))
// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))
// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))
// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust
enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring
// Entry and Exit Conditions
if (enterLong)
strategy.entry("Long", strategy.long)
if (exitLong)
strategy.close("Long")
if (enterShort)
strategy.entry("Short", strategy.short)
if (exitShort)
strategy.close("Short")
// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)
// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)