Strategie des gleitenden Durchschnitts mit dynamischem Gewinnziel

Schriftsteller:ChaoZhang, Datum: 2023-09-18 21:46:47
Tags:

Übersicht

Diese Strategie identifiziert Trends unter Verwendung gleitender Durchschnitte, zieht Gewinne bei festen ATR-Multiplikatoren ein und misst die Positionen dynamisch anhand von ATR. Sie zielt darauf ab, Trends zum Gewinn zu führen und gleichzeitig das Risiko zu kontrollieren.

Grundsätze

Die Strategie verwendet einen einfachen gleitenden Durchschnitt von Länge N, um die Trendrichtung zu bestimmen.

Nach dem Einstieg wird das Gewinnziel auf feste ATR-Multiplikatoren des Einstiegspreises festgelegt, z. B. Gewinnziel = Einstiegspreis + ATR * Faktor für Longs. Der Gewinn wird erzielt, wenn der Preis das Gewinnziel erreicht.

Eine größere ATR bedeutet eine kleinere Positionsgröße.

Vorteile

  1. Die MA identifiziert den Trend und ermöglicht eine Trendverfolgung.

  2. ATR profitiert, indem es von Trends profitiert und gleichzeitig Umkehrungen vermeidet.

  3. Die dynamische Positionsgröße verwaltet das Risiko entsprechend der Marktvolatilität.

  4. Anpassbare Gewinnfaktoren und Größenparameter.

  5. Der Stop-Loss kann die Risiken weiter begrenzen.

Risiken und Minderungsmaßnahmen

  1. Eine Verzögerung des Einstiegs kann zu einer Verzögerung des Einstiegs führen.

  2. ATR-Schwankungen können zu zu kleinen oder zu großen Gewinnzielen führen.

  3. Übermäßige Volatilität führt zu zu kleinen Positionen, die den Gewinn begrenzen.

  4. Das Fehlen eines Stop-Loss riskiert einen unkontrollierten Verlust.

  5. Eine schlechte Symbolwahl, z. B. bei Anlagen mit geringer Volatilität, kann zu einer unterdurchschnittlichen Performance führen.

Möglichkeiten zur Verbesserung

  1. Versuche verschiedene Parameterkombinationen für optimale Einstellungen.

  2. Verbesserung der Eingabelogik durch Hinzufügen weiterer Indikatoren als Filter.

  3. Erforschung dynamischer Gewinnentnahme und Stop-Loss für Flexibilität.

  4. Verwalten von Positionen auf der Grundlage von Volatilitätsindikatoren.

  5. Hinzufügen eines Wiedereintrittsmechanismus zur Verlängerung der Aufbewahrungsdauer.

Zusammenfassung

Die Strategie identifiziert den Trend mit gleitenden Durchschnitten, nimmt Gewinn bei ATR-Multiplikatoren und Größenposition nach ATR. Sie hat einen gewissen Trend nach Kapazität und Risiko kann durch Parameter angepasst werden.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 5m
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/
// © dongyun

//@version=4
strategy("利润目标止损的移动平均线", overlay=true)

period = input(80,'')
ptper = input(252,'')
ptfactor = input(12,'')
sizeper = input(20, '')

trend = 0.0
signal = 0
size = 1.0
investment = 100000
atrange = 0.0
ptrange = 0.0
stoph = 0.0
stopl = 0.0


if sizeper != 0
	atrange := atr(sizeper)

if atrange == 0 or sizeper == 0 
	size := 1
else
	size := investment/atrange * 0.1

trend := sma(close,period)


if signal != 1 and nz(trend[1]) < nz(trend[2]) and trend > nz(trend[1])
	strategy.entry('long',strategy.long, comment='open_long')
	signal := 1
else
    signal := nz(signal[1])
    
if signal != -1 and nz(trend[1]) > nz(trend[2]) and trend < nz(trend[1])
	strategy.entry('short',strategy.short, comment='open_short')
	signal := -1
else
    if signal == 0
        signal := nz(signal[1])

ptrange := atr(ptper)

if strategy.position_size > 0
	strategy.exit("exit_long", "long", qty = strategy.position_size, limit = close + ptfactor*ptrange , comment='trail_long') 
else
	if strategy.position_size < 0
		strategy.exit("exit_short", "short", qty = abs(strategy.position_size), limit = close - ptfactor*ptrange, comment='trail_short')


Mehr