MacD200 Tägliche gleitende Durchschnittssignal-Crossover-Handelsstrategie


Erstellungsdatum: 2024-01-03 11:50:56 zuletzt geändert: 2024-01-03 11:50:56
Kopie: 0 Klicks: 930
1
konzentrieren Sie sich auf
1621
Anhänger

MacD200 Tägliche gleitende Durchschnittssignal-Crossover-Handelsstrategie

Überblick

Die Handelsstrategie ist eine quantitative Strategie, die auf der MACD-Indikator-basierten 200-Tage-Moving Average für Signal-Cross-Operationen arbeitet. Sie kombiniert die Doppelfunktion des MACD-Indikators, die die Kauf- und Verkaufssignale des Marktes beurteilt, und die 200-Tage-Moving Average, die die Markttrends beurteilt, um genauere Einstiegs- und Ausstiegszeiten zu finden.

Strategieprinzip

Im Mittelpunkt der Strategie stehen zwei Punkte:

  1. Die Überschneidung der schnellen und langsamen Linien des MACD-Indikators erzeugt ein Kauf- und Verkaufssignal. Wenn die schnelle Linie die langsame Linie von unten durchbricht, erzeugt sie ein Kaufsignal. Wenn die schnelle Linie von oben nach unten fällt und die langsame Linie durchbricht, erzeugt sie ein Verkaufssignal.

  2. Die 200-Tage-Moving Average beurteilt die Gesamtbewegung des Marktes. Die Preise sind oberhalb der 200-Tage-Moving Average als Mehrkopfmarkt und unterhalb als Leermarkt. Sie werden nur gekauft, wenn der Mehrkopfmarkt ein Kaufsignal erzeugt, und sie werden nur verkauft, wenn der Leermarkt ein Verkaufssignal erzeugt.

In Anbetracht dieser beiden Punkte sind die konkreten Handelsregeln für diese Strategie:

Ein Kauf wird getätigt, wenn die MACD-Schnelllinie von unten die MACD-Schnelllinie, die Pylonkarte negativ ist und der Preis über dem 200-Tage-Moving-Mean liegt. Ein Verkauf wird getätigt, wenn die MACD-Schnelllinie von oben unter die MACD-Schnelllinie, die Pylonkarte positiv ist und der Preis unter der 200-Tage-Moving-Mean liegt.

Strategische Vorteile

  1. Doppel-Urteil erhöht die Stabilität und Erfolgsrate der Strategie. MACD-Urteil von Kauf- und Verkaufssignalen, 200-Tages-Durchschnitts-Urteil von Markttrends, Doppel-Urteil kann einige unsichere Handelssignale filtern.

  2. In stark trendigen Märkten kann diese Strategie höhere Gewinne bringen. Besonders in einem Bullenmarkt kann sie schnell die Gelegenheit zu einem Preisanstieg ergreifen.

  3. Der MACD-Indikator ist auch empfindlich für die Befreiung von der Schokkorrekturphase. Die Strategie kann eine neue Trendrichtung schnell erfassen, wenn der Preis nach einer langen Schokkorrektur in eine Trendlage eintritt.

Risikoanalyse

  1. Die Strategie ist sehr sensibel für Parameter. Wenn die MACD-Indikatorparameter falsch eingestellt sind, kann es zu Fehlinterventionen kommen.

  2. In der Nähe des Trendwechselpunkts werden die Kauf- und Verkaufssignale des MACD-Indikators mehr Fehler erzeugen. In diesem Fall kann es zu einem größeren Rückzug der Gewinne dieser Strategie kommen.

  3. Wenn die Preise länger in einem Quervergleich sind, kann die Strategie keine eindeutige Trendrichtung feststellen, was zu einer erhöhten Schwankung der Gewinn- und Verlustquote und einer Verlängerung der Rücknahmezeit führt.

Richtung der Strategieoptimierung

  1. Verschiedene Parameterkombinationen können getestet werden, um die MACD-Parameter zu finden, die ein Signal erzeugen.

  2. Es kann in Erwägung gezogen werden, andere technische Indikatoren, z. B. RSI, KD usw., zur Bestätigung hinzuzufügen, um eine Resonanz mehrerer Indikatoren zu bilden und die Zuverlässigkeit der Strategie zu verbessern.

  3. Ein Stop-Loss-Punkt kann eingestellt werden, um den maximalen Rückzug zu kontrollieren. Ein sofortiger Stop-Loss-Ausgang, wenn ein größerer Rückschlag auftritt, kann eine Ausweitung des Stop-Losses verhindern.

Zusammenfassen

Die MACD 200-Durchschnittslinie-Kreuzstrategie kombiniert die Doppelfunktion der Trend- und Handelssignal-Ermittlung und kann die Gewinnwahrscheinlichkeit wirksam erhöhen. Sie ist eine relativ robuste und zuverlässige quantitative Handelsstrategie. Die Strategie ist jedoch auch abhängig von Parametern und Marktzuständen.[/

Strategiequellcode
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 1m
basePeriod: 1m
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/
// © x11joe

//@version=4
//This strategy is based on a youtube strategy that suggested I do this...so I did!

strategy(title="MacD 200 Day Moving Average Signal Crossover Strategy", overlay=false, precision=2,commission_value=0.26, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

moving_avg_length = input(title="Moving Average Length", type=input.integer, defval=200)
moving_avg = sma(close,moving_avg_length)

moving_avg_normalized = close - moving_avg
plot(moving_avg_normalized, title="Moving Average Normalized", style=plot.style_line, color=color.orange,linewidth=3)

plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

if(macd>signal and macd<0 and close>moving_avg)
    strategy.entry("buy",strategy.long)

if(close<moving_avg and macd<signal and macd>0)
    strategy.entry("sell",strategy.short)