Spiral-Doji mit gleitender Durchschnittsbestätigungsstrategie


Erstellungsdatum: 2024-02-02 14:50:08 zuletzt geändert: 2024-02-02 14:50:08
Kopie: 0 Klicks: 607
1
konzentrieren Sie sich auf
1617
Anhänger

Spiral-Doji mit gleitender Durchschnittsbestätigungsstrategie

Überblick

Die Strategie kombiniert Spiral- und Moving Averages, um die Richtung und Stärke von Preistrends zu erkennen, um potenzielle Über- und Abschlusssignale zu erzeugen. Wenn eine spiral-positive Signallinie die spiral-negative Signallinie durchbricht, wird diese Kreuzung auf der Grafik markiert, und wenn der Schlusskurs über dem Moving Average liegt, wird ein Plussignal erzeugt.

Strategieprinzip

  1. Spiral-Indikatoren: bestehend aus spiral-positiven Indikatorlinien ((VI+) und spiral-negativen Indikatorlinien ((VI-)). Sie werden verwendet, um die Richtung und Stärke der Preisentwicklung zu erkennen.

  2. Moving Averages: Die gewählten Moving Average-Methoden (SMA, EMA, SMMA, WMA oder VWMA) werden verwendet, um die Preisdaten zu glätten. Die entstehende Glättung wird als “Glas-Glas-Glas” bezeichnet.

  3. Bestimmung von Über- und Unterkurssignalen: Wenn die VI+-Leitung die VI-Leitung durchquert, markiert man die Kreuzung, und wenn der Schlusskurs höher als die Gleitlinie ist, wird ein Überkurssignal erzeugt. Wenn die VI-Leitung die VI+-Leitung durchquert, wird ein Unterkurssignal erzeugt, wenn der Schlusskurs niedriger als die Gleitlinie ist.

Strategische Vorteile

  1. Die Kombination der Vorteile von Trenderkennung und Schiebefilter ermöglicht es, Trends in einem Trendmarkt zu erfassen und falsche Signale in einem wackligen Markt zu vermeiden.

  2. Der Spiral-Indikator kann die Richtung und Stärke der Trends effektiv erkennen. Der Moving Average kann einen Teil des Geräusches filtern.

  3. Die Strategie ist klar und einfach zu verstehen und umzusetzen.

  4. Anpassbare Parameter für unterschiedliche Marktumgebungen.

Strategisches Risiko

  1. In einer konsolidierten und nicht klaren Trendsituation kann es zu Fehlsignalen und SERIAL-Stopps kommen.

  2. Eine falsche Einstellung der Parameter beeinflusst auch die Strategie. Eine zu kurze Einstellung der Länge des Moving Averages wirkt schlecht, und eine zu lange Einstellung des Moving Averages lässt die Trends zu spät erkennen.

  3. Das Unternehmen ist nicht in der Lage, sich vor unvorhergesehenen Ereignissen zu schützen, wie beispielsweise starken Veränderungen der Handelslage nach einem großen finanziellen Ereignis.

Strategieoptimierung

  1. Es können andere Indikatoren eingeführt werden, um die Zuverlässigkeit von Trends zu bestimmen.

  2. Optimierungsparameter werden gesetzt, um die Trend-Tracking- und Noise-Filterfähigkeit des Moving Averages auszugleichen.

  3. Die Verlustkontrolle durch zusätzliche Stop-Loss-Strategien.

  4. Automatische Optimierung der Parameter mit Methoden wie Machine Learning.

  5. Positionsanpassung in Verbindung mit einem Risikomanagementmodul.

Zusammenfassen

Die Strategie hat eine einfache und effektive Kombination von Spiral-Indikatoren und Moving Averages, um eine hervorragende Trendfangwirkung zu erzielen. Die Strategie hat eine gewisse Geräuschfilterfähigkeit, während die Trendrichtung erkannt wird, wodurch falsche Signale reduziert werden können. Insgesamt ist die Strategie logisch einfach, flexibel zu bedienen und funktioniert besser in einem Trendmarkt. Die Risikokontrollierbarkeit kann durch die Einführung von mehr Filtermitteln und geeigneter Optimierung der Parameter-Einstellung weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2023-02-01 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © DraftVenture

//@version=5
strategy("Vortex + Moving Average Strategy", overlay=true)

//Vortex settings
period_ = input.int(14, title="Vortex Length", minval=2)
VMP = math.sum( math.abs( high - low[1]), period_ )
VMM = math.sum( math.abs( low - high[1]), period_ )
STR = math.sum( ta.atr(1), period_ )
VIP = VMP / STR
VIM = VMM / STR
plot(VIP, title="VI +", color=color.white)
plot(VIM, title="VI -", color=color.white)

len = input.int(9, minval=1, title="MA Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out = ta.sma(src, len)
plot(out, color=color.blue, title="MA", offset=offset)

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing")

smoothingLine = ma(out, smoothingLength, typeMA)
plot(smoothingLine, title="Smoothing Line", color=#f37f20, offset=offset, display=display.none)

// Determine long and short conditions
longCondition = ta.crossover(VIP, VIM) and close > smoothingLine
shortCondition = ta.crossunder(VIP, VIM) and close < smoothingLine
crossCondition = ta.crossunder(VIP, VIM) or ta.crossunder(VIM, VIP)

// Strategy entry and exit logic
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

bgcolor(crossCondition ? color.new(color.white, 80) : na)

// Strategy by KP