Strategie für den Intraday-Trend-Ausbruch

Schriftsteller:ChaoZhang, Datum: 2023-09-18 13:11:51
Tags:

Übersicht

Dies ist ein intraday-kurzfristiger Trend nach Strategie, der auf dem Supertrend-Indikator basiert. Benutzer können die Intraday-Handelssitzung definieren, während der die Strategie ausgeführt wird.

Die Strategie umkehrt die Position mit doppelter Menge, wenn sich das Signal ändert.

Strategie Logik

  1. Der Supertrend-Indikator wird anhand des benutzerdefinierten Multiplikators und der ATR-Periode berechnet.

  2. Zeichnen Sie die Supertrend-Linie als Unterstützung und Widerstand.

  3. Lange/kurze Konditionen ermitteln. Schließen über der Supertrend-Linie ist lange Kondition. Schließen unter der Supertrend-Linie ist kurze Kondition.

  4. Überprüfen Sie, ob die aktuelle Bar innerhalb der vom Benutzer definierten Intraday-Sitzung liegt.

  5. Ausgabe von Long/Short-Signalen nur, wenn die Intraday-Sitzung aktiv ist und die Long/Short-Bedingungen erfüllt sind.

  6. Umgekehrte Position, indem man gegenüberliegenden Handel mit doppelter Menge, wenn Supertrend Richtung ändert.

  7. Sie werden in der Regel von der Supertrend-Richtung abgezogen, wenn die Supertrend-Richtung unverändert bleibt und die Intraday-Sitzung endet.

Analyse der Vorteile

  1. Supertrend identifiziert Trends und reduziert falsche Signale.

  2. Die Kombination von Supertrend mit dem Schlusskurs verhindert, dass sie vorzeitig gestoppt wird.

  3. Eine rechtzeitige Umstellung reduziert Verluste.

  4. Die Intraday-Sitzung vermeidet das Übernachtungsrisiko.

  5. Ein gewaltsamer Ausstieg vermeidet die Gefahr, dass man vergessen hat, abzuquartieren.

Risikoanalyse

  1. Unzulässige Supertrend-Parameter können zu schlechter Strategieleistung führen.

  2. Die Umkehrung der Position erhöht die Handelsfrequenz und die Kosten.

  3. Ein gewaltsamer Ausstieg am Ende der Sitzung kann zu Verlusten führen.

  • Das Risiko 1 kann durch Parameteroptimierung gemildert werden.

  • Das Risiko 2 kann über einen Stop-Loss kontrolliert werden.

  • Risiko 3 kann mit einem Stop-Loss- oder Trendfilter vermieden werden.

Möglichkeiten zur Verbesserung

  1. Verschiedene Trendindikatoren wie MA, KDJ usw. testen.

  2. Fügen Sie Stop-Loss-Logik hinzu.

  3. Hinzufügen eines Trendfilters, um gezwungenen Ausgangsschaden zu vermeiden.

  4. Optimierung der Multiplikator- und ATR-Periodenparameter.

  5. Versuch auf verschiedenen Instrumenten.

Schlussfolgerung

Diese Strategie kombiniert Supertrend und Intraday Session Management, um von kurzfristigen Trendbruch zu profitieren. Positionsumkehr und gezwungener Ausstieg kontrollieren das Risiko effektiv. Weitere Verbesserungen können durch Parameteroptimierung, Stop-Loss und Trendfilterung erzielt werden.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
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("Supertrend - Intraday", overlay=true, calc_on_every_tick = true)

// ********** Strategy inputs - Start **********

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
// Important: The end time should be at least 2 minutes before the intraday
// square-off time set by your broker
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

var float i_multiplier = input(title = "Multiplier", type = input.float, 
     defval = 4, confirm=true)

var int i_atrPeriod = input(title = "ATR Period", type = input.integer, 
     defval = 14, confirm=true)

// ********** Strategy inputs - End **********


// ********** Supporting functions - Start **********

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

// ********** Supporting functions - End **********


// ********** Strategy - Start **********

[superTrend, dir] = supertrend(i_multiplier, i_atrPeriod)

colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 0) : color.new(color.red, 100)
colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 100)

plot(superTrend, color = colResistance, linewidth=2)
plot(superTrend, color = colSupport, linewidth=2)

// Long/short condition
longCondition = close > superTrend
shortCondition = close < superTrend

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

// Trade only if intraday session is active
 
// Long position
// When longCondition and intradaySession both are true
strategy.entry(id = "Long", long = strategy.long, 
     when = longCondition and intradaySession)
 
// Short position
// When shortCondition and intradaySession both are true
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")

// ********** Strategy - End **********

Mehr