Die Strategie ist eine Short-Line-Strategie, die auf Supertrend-Indikatoren basiert, die für den Tageshandel verwendet werden. Der Benutzer kann den Tageshandel definieren und die Strategie wird nur in diesem Zeitraum ausgeführt. Die Strategie ermöglicht eine Signalumkehr durch die Verdoppelung der Anzahl der Rückwärtspositionen.
Berechnen Sie Supertrend-Indikatoren. Berechnen Sie Supertrend-Linien anhand von Multiplikatoren und ATR-Perioden, die vom Benutzer definiert werden.
Supertrendlinien als Unterstützungs- und Widerstandslinien zeichnen.
Beurteilung der langen und kurzen Bedingungen. Der Schlusskurs ist höher als die Supertrendlinie, wenn er mehrere Bedingungen erfüllt, und der Schlusskurs ist niedriger als die Supertrendlinie, wenn er kurzfristig ist.
Der Zeitpunkt der Transaktion wird ermittelt. Der aktuelle Preis wird nach der vom Benutzer definierten Tageszeit ermittelt.
Ein entsprechendes Kauf- und Verkaufssignal wird nur dann ausgesendet, wenn die Bedingungen für die Übernahme und Leerstellung innerhalb des Handelszeitraums erfüllt sind.
Umkehrung der Position. Wenn der Supertrend-Indikator die Richtung ändert, wird die doppelte Anzahl umgekehrter Positionen verwendet.
Die Ausgabe der Niederlage. Wenn das Supertrendsignal unverändert bleibt und die Handelsphase beendet ist, wird die Niederlage erzwungen.
Die Verwendung von Supertrend-Indikatoren kann Trends erkennen und falsche Signale reduzieren.
Es ist wichtig, dass Sie mit dem Supertrend-Indikator und dem Schlusskurs handeln, damit Sie nicht von der Warteschleife betroffen sind.
Umgekehrte Positionen können Verluste verringern.
Das Risiko, über Nacht zu handeln, wird durch den Handel während der Tageszeit vermieden.
Die Zwangs-Plating-Mechanismen verhindern die Gefahr, dass man die Plating-Position vergisst.
Die falsche Einstellung der Parameter des Supertrend-Indikators kann zu einer schlechten Strategieeffektivität führen.
Die Reverse-Position erhöht die Häufigkeit und die Gebühren für den Handel.
Ein Zwangs-Planning am Ende der Tageszeit kann zu Verlusten führen.
Risiko 1 kann durch Parameteroptimierung die optimale Parameterkombination gefunden werden.
Risiken 2 können mit Stop Loss gesteuert werden.
Risiko 3 kann mit einem Stop-Loss oder einem Trendfilter vermieden werden.
Versuchen Sie es mit verschiedenen Trendindikatoren wie MA, KDJ usw.
Erweiterung der Stop-Loss-Logik
Die Trendfilter werden erweitert, um zu vermeiden, dass die Verluste ausgeglichen werden.
Optimierung der Multiplikations- und ATR-Zyklusparameter.
Versuchen Sie verschiedene Handelsarten.
Die Strategie integriert Supertrend-Indikatoren und Intra-Day-Trading-Zeitmanagement, um Short-Line-Trend-Breakthroughs zu erfassen. Reverse-Open-Positions und Zwangs-Plain-Positions ermöglichen eine effektive Risikokontrolle. Anschließend können die Effektivität der Strategie durch Parameteroptimierung, Stop-Loss und Trendfilterung weiter verbessert 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 **********