VWMA - dynamische Preisdurchdringungsstrategie nach oben und unten während der Handelszeiten

VWMA ATR 交易时段 动态支撑阻力 价格穿透 交易信号
Erstellungsdatum: 2025-02-28 10:22:57 zuletzt geändert: 2025-02-28 10:22:57
Kopie: 0 Klicks: 441
2
konzentrieren Sie sich auf
319
Anhänger

VWMA - dynamische Preisdurchdringungsstrategie nach oben und unten während der Handelszeiten VWMA - dynamische Preisdurchdringungsstrategie nach oben und unten während der Handelszeiten

Überblick

Die Strategie ist speziell für den 1-Minuten-Zeitrahmen geeignet und erzeugt ein Kauf- und Verkaufssignal, indem sie die Beziehung zwischen dem Preis und dem VWMA, das an jedem Handelstag neu gesetzt wurde, überwacht. Die Kernlogik der Strategie besteht darin, ein Handelssignal auszulösen, wenn der Preis die VWMA vollständig durchbricht. Insbesondere wird ein Kaufsignal erzeugt, wenn der niedrigste Preis des Diagramms über dem VWMA liegt, und ein Verkaufsignal, wenn der höchste Preis des Diagramms unter dem VWMA liegt.

Strategieprinzip

Das Kernprinzip der Strategie besteht darin, potenzielle Handelsmöglichkeiten durch die Beziehung des Preises zur relativen Position dieser Referenzlinie zu identifizieren. Die detaillierte Funktionsweise der Strategie ist wie folgt:

  1. VWMA-Berechnung für den HandelsplatzDie Strategie verwendet den VWMA-Indikator mit einer Länge von 55, aber im Gegensatz zum herkömmlichen VWMA wird der Indikator zu Beginn eines jeden Handelstages neu berechnet, um sicherzustellen, dass der VWMA die Marktstimmung des Tages genauer widerspiegelt.

  2. Signalerzeugung

    • Kaufsignal: wird ausgelöst, wenn der Mindestpreis der Karte vollständig über der VWMA liegt und die vorherige Karte diese Bedingung nicht erfüllt
    • Ausverkaufssignal: Auslöst, wenn der Höchstpreis der Karte vollständig unter VWMA liegt und die vorherige Karte diese Bedingung nicht erfüllt
  3. TransaktionskontrolllogikStrategie: Ein intelligenter Handelskontrollmechanismus, der die Wiederholung von aufeinanderfolgenden Gleichgewichtssignalen verhindert, d.h. nach dem Kauf eines Signals muss ein Verkaufssignal vorhanden sein, um erneut zu kaufen, und umgekehrt.

  4. Automatische Schließung von PositionenStrategie: Alle Positionen werden automatisch um 15:29 Uhr (Indian Standard Time) platziert, um sicherzustellen, dass keine Übernachtpositionen gehalten werden, um das Übernachtrisiko zu vermeiden.

  5. MehrpositionsverwaltungDie Strategie unterstützt maximal 10 Pyramiden, wobei die Vermögensverwaltung 10% der Kontogewinne für die Positionskontrolle verwendet.

Strategische Vorteile

Nach einer eingehenden Analyse des Codes zeigte sich, dass diese Strategie folgende wesentliche Vorteile aufweist:

  1. Zeitliche AnpassungsfähigkeitDie Strategie kann besser an die Marktbedingungen des Tages angepasst werden, indem sie die VWMA-Berechnung für jeden Handelstag neu berechnet und nicht übermäßig von den historischen Daten beeinflusst wird.

  2. Ein deutliches EintrittssignalDie Strategie verlangt, dass der Preis die VWMA vollständig durchbricht, um ein Signal auszulösen, was die Fehleinschätzung bei falschen Durchbrüchen und Erschütterungen reduziert.

  3. RichtungssteuerungDie Strategie verhindert durch die Logik der Handelssteuerung, dass mehrere Eintritte in derselben Richtung durchgeführt werden, und erfordert, dass ein Kurswechsel erforderlich ist, um erneut einzutreten, wodurch das Risiko eines häufigen Handels reduziert wird.

  4. RisikokontrolleDie automatische Schließung der Position mit festen Tageszeiten vermeidet das Übernachtungsrisiko und eignet sich für den Tageskurzhandel.

  5. Potenzial für eine hohe GewinnrateLaut Strategiebeschreibung sind die Selling-Signale besonders gut, mit einer Erfolgsrate von über 65% und einer höheren Erfolgswahrscheinlichkeit für Trader.

  6. Flexible PositionsverwaltungEs wird eine Pyramidenstrategie unterstützt, die es ermöglicht, Positionen zu erhöhen, um das Gewinnpotenzial zu maximieren, wenn der Trend anhält.

Strategisches Risiko

Obwohl diese Strategie zahlreiche Vorteile hat, gibt es folgende potenzielle Risiken:

  1. Die zeitliche BegrenzungDie Strategie beschränkt die Einsatzszenarien, da sie eindeutig angibt, dass der 1-Minuten-Zeitrahmen am besten geeignet ist und in anderen Zeitrahmen möglicherweise schlechter abschneidet.

  2. Kaufsignale sind relativ schwachDie Strategie beschreibt die Notwendigkeit, dass ein Kaufsignal mit festen Stopps und Stop-Loss-Punkten ausgestattet wird, was darauf hindeutet, dass ein Kaufsignal weniger zuverlässig ist als ein Verkaufsignal, was die Profitabilität eines Kaufgeschäfts beeinträchtigen kann.

  3. Abhängigkeit von MarktbedingungenDie VWMA als Hauptindikator kann in schwankenden Märkten sehr viele falsche Signale erzeugen, und die Strategie kann in starken Märkten besser funktionieren.

  4. Risiken bei festen ZeitplänenDie Festlegung von Off-Positions bei 15:29 kann zu einem vorzeitigen Ausstieg in günstigen Zeiten führen, wodurch einige Gewinnchancen verpasst werden.

  5. ParameterempfindlichkeitDie VWMA-Länge 55 ist ein fester Parameter, der in verschiedenen Marktumgebungen unterschiedlich eingestellt werden kann und nicht für alle Marktbedingungen geeignet ist.

Risikominderungsmaßnahmen:

  • Angesichts der relativ schwachen Kaufsignale wird empfohlen, eine strenge Stop-Loss- und Zielgewinn-Einstellung einzuführen.
  • Erwägen Sie, die Filterbedingungen für die Marktumgebung zu erhöhen, und wenden Sie die Strategien nur in geeigneten Marktumgebungen an
  • Entwicklung eines Anpassungsmechanismus, der VWMA-Länge automatisch an Marktveränderungen anpasst

Richtung der Strategieoptimierung

Die Strategie lässt sich anhand von Code-Analysen in folgende Richtungen optimieren:

  1. Mehr Filter für die MarktumgebungEinführung von Indikatoren für die Volatilität oder die Trendstärke als Filterbedingungen, die nur in geeigneten Marktumgebungen Signale erzeugen, z. B. durch ATR- oder ADX-Indikatoren, die beurteilen können, ob der aktuelle Markt für die Strategie geeignet ist.

  2. Optimierung der VWMA-ParameterDie VWMA-Länge kann an die Marktdynamik angepasst werden, um die Strategie besser an unterschiedliche Marktumstände anzupassen. Dies kann durch die Verknüpfung der VWMA-Länge mit der Marktfluktuation erreicht werden.

  3. Erweiterte SignalbestätigungEinführung zusätzlicher Technik- oder Preismodelle als Bestätigungsbedingungen, um die Signalqualität zu verbessern. Beispielsweise kann Signalbestätigung in Verbindung mit Indikatoren wie RSI, MACD durchgeführt werden.

  4. Verbesserte AusgleichsstrategienZusätzlich zu den festen Zeit-Plating-Regeln wurden dynamische Plating-Regeln hinzugefügt, die auf Marktbedingungen basieren, wie z. B. Gewinnrückzug, Zielerreichung oder Umkehrung der technischen Indikatoren.

  5. Differenzierte Kauf- und VerkaufssignalverarbeitungEntwicklung zielgerichteter Managementstrategien für die unterschiedlichen Performance-Eigenschaften von Kauf- und Verkaufssignalen, wie z. B. eine konservativere Positionsverwaltung und eine strengere Stop-Loss-Strategie für Kaufsignale.

  6. Optimierung der GeldverwaltungEs wurde ein flexiblerer Fondsmanagementmechanismus eingeführt, der den Anteil des Fonds pro Transaktion an die Signalstärke, die Marktvolatilität und die historische Dynamik anpasst.

Diese Optimierungen sollen die Robustheit und Anpassungsfähigkeit der Strategie verbessern und gleichzeitig ihre ursprünglichen, hohen Erfolgsraten beibehalten.

Zusammenfassen

Die VWMA-Dynamische Preis-Ober-Under-Petration-Strategie ist ein kunstvoll konzipiertes Tageshandelssystem, das Handelssignale erzeugt, indem es die tägliche Umstellung der VWMA als dynamische Referenzlinie nutzt, kombiniert mit der Bedingung, dass der Preis die Referenzlinie vollständig durchbricht. Die Strategie eignet sich besonders für den 1-Minuten-Zeitrahmen und ihre Verkaufssignale sind besonders gut, mit einer Erfolgsrate von mehr als 65%.

Die wichtigsten Vorteile einer Strategie liegen in ihrer Anpassungsfähigkeit an die aktuellen Marktbedingungen, klaren Eintrittsbedingungen und einer effektiven Risikokontrolle. Die Strategie birgt jedoch auch potenzielle Risiken wie die Einschränkung des Zeitrahmens, die relative Schwäche der Kaufsignale und die Abhängigkeit von den Marktbedingungen.

Die Strategie hat das Potenzial, ihre Stabilität und Profitabilität weiter zu verbessern, indem sie die Filterung der Marktumgebung erhöht, Anpassungsparameter implementiert, die Signalbestätigungsmechanismen verbessert und die Off-Position-Strategie verbessert wird. Insgesamt ist dies eine klar strukturierte, logisch strikte Handelsstrategie, die besonders für Day-Trader geeignet ist, die nach hoher Gewinnquote und Risikokontrolle streben.

Händlern, die diese Strategie anwenden möchten, wird empfohlen, sie zuerst in einer simulierten Umgebung ausreichend zu testen, mit besonderem Augenmerk auf die Leistung von Kaufsignalen und der Anpassung der Parameter-Sätze und der Geldmanagement-Regeln an ihre eigene Risikobereitschaft und ihre Handelsziele.

Strategiequellcode
/*backtest
start: 2024-02-29 00:00:00
end: 2025-02-26 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("SVWMA Lx", overlay=true, initial_capital=100000, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10, pyramiding=10, calc_on_every_tick=true)

//──────────────────────────────
// Session VWMA Inputs
//──────────────────────────────
vwmaLen   = input.int(55, title="VWMA Length", inline="VWMA", group="Session VWMA")
vwmaColor = input.color(color.orange, title="VWMA Color", inline="VWMA", group="Session VWMA", tooltip="VWMA resets at the start of each session (at the opening of the day).")

//──────────────────────────────
// Session VWMA Calculation Function
//──────────────────────────────
day_vwma(_start, s, l) =>
    bs_nd = ta.barssince(_start)
    v_len = math.max(1, bs_nd < l ? bs_nd : l)
    ta.vwma(s, v_len)

//──────────────────────────────
// Determine Session Start
//──────────────────────────────
newSession = ta.change(time("D")) != 0

//──────────────────────────────
// Compute Session VWMA
//──────────────────────────────
vwmaValue = day_vwma(newSession, close, vwmaLen)
plot(vwmaValue, color=vwmaColor, title="Session VWMA")

//──────────────────────────────
// Define Signal Conditions (only on transition)
//──────────────────────────────
bullCond = low > vwmaValue      // Bullish: candle low above VWMA
bearCond = high < vwmaValue     // Bearish: candle high below VWMA

// Trigger signal only on the bar where the condition first becomes true
bullSignal = bullCond and not bullCond[1]
bearSignal = bearCond and not bearCond[1]

//──────────────────────────────
// **Exit Condition at 15:29 IST**
//──────────────────────────────
sessionEnd = hour == 15 and minute == 29

// Exit all positions at 15:29 IST
if sessionEnd
    strategy.close_all(comment="Closing all positions at session end")

//──────────────────────────────
// **Trade Control Logic** (Prevents consecutive same-side signals)
//──────────────────────────────
var bool lastTradeWasBuy = false  // Track last trade direction **Reset Direction At Session End**
var bool lastTradeWasSell = false // Track last trade direction **Reset Direction At Session End**
// Reset at new session
if newSession
    lastTradeWasBuy := true
    lastTradeWasSell := true

//──────────────────────────────
// **Position Management: Entry & Labels**
//──────────────────────────────
if bullSignal and not lastTradeWasBuy  //
    if strategy.position_size < 0
        strategy.close("Short", comment="Exit Short on Bull Signal")
        strategy.entry("Long", strategy.long, comment="Enter Long: Buy Call & Sell Put at ATM")
    else
        strategy.entry("Long", strategy.long, comment="Add Long: Buy Call & Sell Put at ATM")

    // Add BUY Label above entry candle
    label.new(x=bar_index, y=low - ta.atr(5) * 0.5, text="BUY", color=color.green, textcolor=color.white, size=size.small,  style=label.style_label_up, xloc=xloc.bar_index)

    lastTradeWasBuy := true  // Mark that the last trade was a Buy

if bearSignal and lastTradeWasBuy  //
    if strategy.position_size < 0
        strategy.close("Long", comment="Exit Long on Bear Signal")
        strategy.entry("Short", strategy.short, comment="Enter Short: Buy Put & Sell Call at ATM")
    else
        strategy.entry("Short", strategy.short, comment="Add Short: Buy Put & Sell Call at ATM")

    // Add SELL Label below candle 
    label.new(x=bar_index, y=high + ta.atr(5) * 0.5,  text="SELL", color=color.red, textcolor=color.white, size=size.small, style=label.style_label_down, xloc=xloc.bar_index)

    lastTradeWasBuy := false  // Mark that the last trade was a Sell

//──────────────────────────────
// **Updated Alert Conditions**
//──────────────────────────────
alertcondition(bullSignal and not lastTradeWasBuy, 
     title="Long Entry Alert", 
     message="Bullish signal: BUY CALL & SELL PUT at ATM. Entry allowed.")

alertcondition(bearSignal and lastTradeWasBuy, 
     title="Short Entry Alert", 
     message="Bearish signal: BUY PUT & SELL CALL at ATM. Entry allowed.")