Handelsstrategie für einen doppelten gleitenden Tagesdurchschnitt

Schriftsteller:ChaoZhang, Datum: 2024-02-27 16:36:31
Tags:

img

Übersicht

Dies ist eine einfache Intraday-Handelsstrategie, die auf doppelten gleitenden Durchschnitten basiert. Sie verwendet zwei einfache gleitende Durchschnitte mit verschiedenen Perioden und nimmt lange oder kurze Positionen ein, wenn sich die gleitenden Durchschnitte kreuzen. Die Position wird umgekehrt, wenn sich das Signal ändert. Alle offenen Positionen werden abgerechnet, wenn die Intraday-Sitzung endet.

Strategie Logik

Die Strategie verwendet einen 10-tägigen und einen 40-tägigen einfachen gleitenden Durchschnitt. Es geht lang, wenn der kurze Zeitraum gleitende Durchschnitt über die lange Periode ein kreuzt und geht kurz, wenn der umgekehrte Crossover geschieht. Wenn das Signal ändert, wird die Position mit doppelter Menge geschlossen und eine umgekehrte Position initiiert. Der Handel geschieht nur nach den gleitenden Durchschnittssignalen während einer definierten Intraday-Sitzung. Alle offenen Positionen, die übrig sind, werden am Ende der Sitzung quadriert.

Die Strategie nutzt hauptsächlich die schnelleren Preisänderung Erfassung Fähigkeit des kürzeren Zeitraums gleitenden Durchschnitt. Wenn die kurze SMA über die lange SMA kreuzt, zeigt es einen Aufwärtstrend in den Preisen auf kurze Sicht, daher kann lang gehen, um dies zu erfassen. Das Gegenteil zeigt einen kurzfristigen Abwärtstrend. Die doppelte Menge umgekehrte Eintrag erweitert das Gewinnpotenzial.

Vorteile

  1. Einfache und klare Strategie-Logik, leicht zu verstehen und umzusetzen.
  2. Wirksam kurzfristige Preisentwicklungen mit Hilfe von Dual-MA-Crossover erfasst.
  3. Vermeidet das Übernachtungsrisiko, indem es sich auf eine Intraday-Sitzung beschränkt.
  4. Erweitert das Gewinnpotenzial durch doppelten Umkehrhandel.

Risikoanalyse

  1. Anfällig für Lärm-Handel Fehler als kurzfristige Strategie.
  2. Eine doppelte Menge kann Verluste verstärken.
  3. Gezwungene Abkürzung der Risiken, die längere profitable Trends verpassen.

Risikominderung:

  1. Optimieren Sie die MA-Parameter, um falsche Signale zu reduzieren.
  2. Fügen Sie Filter mit anderen Indikatoren hinzu.
  3. Optimieren Sie die Parameter.
  4. Verringern Sie die Dauer der Tagessitzung.

Möglichkeiten zur Verbesserung

  1. Optimieren Sie die MA-Parameter, indem Sie mehr Kombinationen für die beste Passform testen.

  2. Fügen Sie Filter wie MACD-Bestätigung hinzu, um falsche Signale zu reduzieren.

  3. Optimieren Sie den Umkehrbetriebsmengen multiplizierenden Faktor durch Parameter-Tuning.

  4. Testen Sie, indem Sie die Dauer der Intraday-Sitzung verlängern, um bessere Renditen zu erzielen.

Schlussfolgerung

Die Strategie erfasst kurzfristige Trends, die sich aus MA-Crossover-Signalen bilden, erweitert die Gewinne durch doppelten Umkehrhandel und begrenzt die Übernachtungsrisiken, indem sie nur in einer Intraday-Sitzung gehandelt wird. Weitere Optimierungen der Parameter und das Hinzufügen von Filtern können die Strategieleistung verbessern. Insgesamt ist es eine effektive Strategie, die für den Intraday-Handel geeignet ist.


/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-26 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/
// © Pritesh-StocksDeveloper

//@version=4
strategy("Moving Average - Intraday", shorttitle = "MA - Intraday", 
     overlay=true, calc_on_every_tick = true)

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Short & Long moving avg. period
var int i_shortPeriod = input(title = "Short MA Period", type = input.integer, 
     defval = 10, minval = 2, maxval = 20, confirm=true)
var int i_longPeriod = input(title = "Long MA Period", type = input.integer, 
     defval = 40, minval = 3, maxval = 120, confirm=true)

// A function to check whether the bar is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0

// Calculate moving averages
shortAvg = sma(close, i_shortPeriod)
longAvg = sma(close, i_longPeriod)

// Plot moving averages
plot(series = shortAvg, color = color.red, title = "Short MA", 
     linewidth = 2)
plot(series = longAvg, color = color.blue, title = "Long MA", 
     linewidth = 2)

// Long/short condition
longCondition = crossover(shortAvg, longAvg)
shortCondition = crossunder(shortAvg, longAvg)

// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)

// Trade only if intraday session is active

// Long position
strategy.entry(id = "Long", long = strategy.long, 
     when = longCondition and intradaySession)

// Short position
strategy.entry(id = "Short", long = strategy.short, 
     when = shortCondition and intradaySession)

// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")

Mehr