Die Ressourcen sind geladen. Beförderung...

Multi-Indikator-Trend-Crossing-Strategie: Handelssystem zur Unterstützung des Bullenmarktes

Schriftsteller:ChaoZhang, Datum: 2024-12-27 14:35:53
Tags:SMABMSBEMA

img

Übersicht

Diese Strategie ist ein Trend-nachfolgendes Handelssystem, das auf der Bull Market Support Band basiert. Es verwendet hauptsächlich Crossover-Signale zwischen dem 20-wöchigen einfachen gleitenden Durchschnitt (SMA) und dem 21-wöchigen exponentiellen gleitenden Durchschnitt (EMA), um die Markttrendrichtung zu bestimmen und Handelsentscheidungen zu treffen. Die Strategie erzeugt lange Signale, wenn die gleitenden Durchschnitte nach oben kreuzen und aussteigt, wenn sie nach unten kreuzen, um mittel- bis langfristige Trendchancen zu erfassen.

Strategieprinzipien

Die Kernlogik der Strategie besteht darin, die relative Position des 20-wöchigen SMA und des 21-wöchigen EMA zu überwachen, um Markttrends zu beurteilen. Wenn der kurzfristige Durchschnitt (20-wöchige SMA) über den längerfristigen Durchschnitt (21-wöchigen EMA) bricht, zeigt er einen potenziellen Aufwärtstrend an, der einen Long-Positions-Eintrag auslöst. Wenn der kurzfristige Durchschnitt unter den längerfristigen Durchschnitt fällt, signalisiert er ein potenzielles Ende des Aufwärtstrends, was den Positionsschluss auslöst. Die Strategie verwendet das Percent_of_Equity-Positionsmanagement mit einer Handelsprovision von 0,1% und einem Rutsch von 3 Basispunkten.

Strategische Vorteile

  1. Stärkeres Trendverfolgen: Verwendet wöchentliche gleitende Durchschnittsquerschnitte, um kurzfristige Marktlärm zu filtern und mittelfristige bis langfristige Trendchancen zu erfassen
  2. angemessene Risikokontrolle: Verwenden von dynamischen gleitenden Durchschnitten als Stop-Loss-Referenzen für rechtzeitige Marktausgänge
  3. Wissenschaftliche Parametereinstellung: Parameter von 20 und 21 Wochen sorgen für Signalstabilität ohne übermäßige Verzögerung
  4. Klare Ausführungslogik: Ein- und Ausstiegssignale sind explizit und beseitigen subjektives Urteilen
  5. Flexible Kapitalverwaltung: Unterstützt die Positionsgröße auf der Grundlage des Eigenkapitals des Kontos und ermöglicht eine dynamische Positionsanpassung

Strategische Risiken

  1. Unwirksam auf Rangiermärkten: Häufige Crossovers während seitlicher Märkte können zu falschen Ausbrüchen und aufeinanderfolgenden Verlusten führen
  2. Wesentliche Verschiebungseffekte: Bei wöchentlichen Zeitrahmengeschäften kann es zu erheblichen Verschiebungen im realen Handel kommen.
  3. Verzögerter Einstiegszeitpunkt: Bewegliche durchschnittliche Crossover-Signale sind von Natur aus verzögert und fehlen möglicherweise optimale Einstiegspunkte
  4. Unzureichende Zugriffskontrolle: Die ausschließliche Abhängigkeit von gleitenden Durchschnittsquerschnitten bei Stop-Loss kann zu großen Zugriffen führen.
  5. Hohe Eigenmittelanforderungen: Der wöchentliche Zeitrahmenhandel erfordert erhebliches Kapital und psychologische Widerstandsfähigkeit

Optimierungsrichtlinien

  1. Hinzufügen von Filterindikatoren: Einbeziehung von RSI, MACD usw., um Trends zu bestätigen und die Signalzuverlässigkeit zu verbessern
  2. Optimierung des Stop-Loss-Mechanismus: Implementierung eines dynamischen Stop-Loss mit Hilfe des ATR-Indikators zur Verbesserung der Risikokontrolle
  3. Verbesserung des Positionsmanagements: Dynamische Anpassung der Positionsgrößen anhand der Marktvolatilität
  4. Hinzufügen von Trendfilterung: Einführung eines längerfristigen Trendbeurteilungsgrunds für den Handel nur in der primären Trendrichtung
  5. Verbesserung der Handelsdurchführung: Optimierung der Handelsregeln zur Verringerung der Auswirkungen von Schwankungen und Verbesserung der Stabilität der Strategie

Zusammenfassung

Die Bull Market Support Band-Handelsstrategie ist ein Trendfolgensystem, das auf der klassischen Theorie der technischen Analyse basiert. Es erfasst mittelfristige bis langfristige Trendchancen durch wöchentliche gleitende Durchschnitts-Crossovers, verfügt über eine klare Logik und ein kontrollierbares Risiko. Die Strategie hat jedoch eine schlechte Performance in unterschiedlichen Märkten und zeigt eine gewisse Verzögerung. Durch die Hinzufügung von Hilfsindikatoren, Stop-Loss-Optimierung und verbessertes Kapitalmanagement hat die Strategie einen erheblichen Optimierungsraum.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0
// © zkdev

//@version=6
strategy(title='Demo GPT - Bull Market Support Band', 
     overlay=true, 
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, 
     commission_type=strategy.commission.percent, 
     commission_value=0.1, 
     slippage=3)

// -------------------------------------------------------------------------
// Compile-time timestamp constants for default date range
// (2018-01-01 00:00:00 UTC -> 1514764800000
//  2069-12-31 23:59:59 UTC -> 3155759999000)
// -------------------------------------------------------------------------
const int defaultFromDate = 1514764800000
const int defaultToDate   = 3155759999000

// -------------------------------------------------------------------------
// Inputs: date range
// -------------------------------------------------------------------------
fromDate = input(title='Start Date', defval=defaultFromDate)
toDate   = input(title='End Date',   defval=defaultToDate)

// -------------------------------------------------------------------------
// Indicator settings & calculations
// -------------------------------------------------------------------------
smaLength = 20
emaLength = 21

source = close
sma    = ta.sma(source, smaLength)
ema    = ta.ema(source, emaLength)

// -------------------------------------------------------------------------
// Fetch weekly SMA & EMA
// -------------------------------------------------------------------------
outSma = request.security(syminfo.tickerid, 'W', sma, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)
outEma = request.security(syminfo.tickerid, 'W', ema, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)

// -------------------------------------------------------------------------
// Plot visuals (20w SMA, 21w EMA, fill in between)
// -------------------------------------------------------------------------
smaPlot = plot(outSma, color=color.new(color.red,   0), title='20w SMA')
emaPlot = plot(outEma, color=color.new(color.green, 0), title='21w EMA')
fill(smaPlot, emaPlot, color=color.new(color.orange, 75), fillgaps=true)

// -------------------------------------------------------------------------
// We evaluate crossover/crossunder on *every bar* and store the result
// -------------------------------------------------------------------------
crossUp   = ta.crossover(outSma, outEma)
crossDown = ta.crossunder(outSma, outEma)

// -------------------------------------------------------------------------
// Trade logic: only operate within chosen date range
// Buy when outSma crosses above outEma; Sell (close) when outSma crosses below outEma
// -------------------------------------------------------------------------
inDateRange = true

if inDateRange
    // If we have a crossUp event on this bar, buy (go Long)
    if crossUp
        strategy.entry('Long', strategy.long)

    // If we have a crossDown event on this bar, sell (close Long)
    if crossDown
        strategy.close('Long')


Verwandt

Mehr