
Die Strategie nutzt Supertrend Indicator Assisted Orders und filtert in Kombination mit Wolken und K-Line-Farben, um die Gewinnwahrscheinlichkeit zu erhöhen. Das Ziel ist es, den Trend schnell nach dem Trendstart zu erfassen und das Risiko von Verlusten zwischen den Berücksichtigungsbereichen zu verringern.
Der Durchschnitt der höchsten und niedrigsten Preise innerhalb des ATR-Zyklus wird als Basis berechnet.
Auf- und Abfahrt nach Faktorzahl.
Wenn der Schlusskurs größer ist als der Auflauf, wird er als 1 markiert, wenn er kleiner ist als der Ablauf, wird er als -1 markiert. Ansonsten bleibt der aktuelle Zustand erhalten.
Die Stop-Line wird in Echtzeit angepasst, je nach Position des Schlusskurses und der Position der Auf- und Abfahrt.
Der Wolkenumfang wird berechnet anhand eines bestimmten Prozentsatzes des Auf- und Abstands zwischen den Bahnen.
Wenn der Supertrend 1 ist, ist der Schlusskurs unter dem Eröffnungskurs erforderlich, wenn der Kurs niedriger ist, ist der Schlusskurs höher als der Eröffnungskurs erforderlich.
Bei einer Übernahme wird ein Kauf- und ein Verkaufspreis mit dem Schlusskurs der K-Linie angezeigt. Bei einer Leerstellung wird ein Verkaufspreis mit dem Schlusskurs der K-Linie angezeigt.
Filterzeiten können alle Positionen schließen.
Die Strategie kombiniert Supertrend-Indikatoren und Cloud-Konzepte, um die Richtung des Trends schnell zu erfassen, nachdem der Trend begonnen hat. Die Supertrend-Stop-Linie kann die Preisänderungen schneller verfolgen als ein normaler mobiler Stop.
Der Supertrend-Indikator ist sehr empfindlich und hat eine starke Fähigkeit, Trends zu verfolgen.
Die Cloud-Konzeptfilter reduzieren die Verluste durch falsche Durchbrüche.
K-Linien sind ein Hilfsmittel zur Beurteilung und vermeiden die Umkehrung.
Die Einschränkung der Preise reduziert die Auswirkungen von Slippings und erhöht die Gewinnwahrscheinlichkeit.
Anpassbare Zeitabschnitte und Positionsverwaltung für unterschiedliche Handelsanforderungen.
Die Strategie birgt auch einige Risiken, die beachtet werden müssen:
Die falsche Einstellung der Parameter des Supertrend-Indikators kann dazu führen, dass die Kurve zu empfindlich wird und mehr falsche Signale erzeugt.
Wenn die Wolken zu groß sind, kann das normale Durchbruchsignal gefiltert werden, was die Gewinnspanne beeinträchtigt.
Der Limit-Bill kann bei starken Schwankungen nicht gehandelt werden, was dazu führen kann, dass eine Handelsmöglichkeit verpasst wird.
Jeder Tracking-Stopp kann das systematische Risiko großer Verluste nicht vollständig vermeiden.
Wenn die Position zu groß ist, werden die Verluste größer, und es ist notwendig, das Risiko zu kontrollieren.
Die Strategie kann optimiert werden durch:
Verschiedene Märkte und Sorten werden getestet, um die beste Kombination von Parametern für Supertrends zu finden.
Die Stop-Loss-Spanne wird dynamisch angepasst, je nachdem, wie stark der Markt schwankt.
Optimierung des Cloud-Bereichs, um ein Gleichgewicht zwischen Geräuschentfernung und Signalretention herzustellen.
Das Modul zur Positionsoptimierung wurde hinzugefügt, damit die Positionsgröße dynamisch mit den Marktveränderungen verknüpft ist.
Es werden verschiedene Parameterkombinationen in verschiedenen Zeiträumen verwendet, um den Marktrhythmen anzupassen.
Wirksamkeit des Tests in Kombination mit anderen Indikatoren.
Insgesamt ist die Strategie übersichtlich und hat deutliche Vorteile bei der Erfassung von Trends. Allerdings kann keine Strategie systematisches Risiko vollständig vermeiden. Es ist jedoch notwendig, die Positionen zu kontrollieren und kontinuierlich zu optimieren, um das Risiko zu reduzieren, das im tatsächlichen Handel auftreten kann.
/*backtest
start: 2023-10-03 00:00:00
end: 2023-11-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's SuperTrend Strategy v2.0 Limit", shorttitle = "STL str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
cloud = input(25, defval = 25, minval = 5, maxval = 50, title = "cloud, % of ATR")
Factor = input(title = "Super Trend", defval = 3, minval = 1, maxval = 100)
ATR = input(title = "ATR", defval = 7, minval = 1,maxval = 100)
centr = input(true, defval = true, title = "need center of ATR?")
border = input(false, defval = false, title = "need border?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Super Trend ATR 1
src = close
Up=hl2-(Factor*atr(ATR))
Dn=hl2+(Factor*atr(ATR))
TUp=close[1]>TUp[1]? max(Up,TUp[1]) : Up
TDown=close[1]<TDown[1]? min(Dn,TDown[1]) : Dn
Trend = close > TDown[1] ? 1: close< TUp[1]? -1: nz(Trend[1],1)
Tsl1 = Trend==1? TUp: TDown
Tsl2 = Trend==1? TDown: TUp
limit = (Tsl1 - Tsl2) / 100 * cloud
upcloud = Tsl1 - limit
dncloud = Tsl2 + limit
//Cloud
linecolor = Trend == 1 ? green : red
centercolor = centr == true ? blue : na
cloudcolor = Trend == 1 ? green : red
cline = (Tsl1 + Tsl2) / 2
P1 = plot(Tsl1, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-1")
P2 = plot(Tsl2, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-2")
P3 = plot(cline, color = centercolor , style = line , linewidth = 1,title = "SuperTrend Center")
P4 = plot(upcloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center+1")
P5 = plot(dncloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center-1")
fill(P1, P4, color = linecolor == red ? red : lime, transp = 50)
fill(P2, P5, color = linecolor == red ? red : lime, transp = 50)
//Signals
up = 0.0
dn = 0.0
up := Trend != 1 ? 0 : Trend == 1 and close < open ? close : up[1]
dn := Trend != -1 ? close * 1000 : Trend == -1 and close > open ? close : dn[1]
//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if true
strategy.entry("Long", strategy.long, needlong ? lot : 0, limit = up, when = (Trend == 1 and time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
strategy.entry("Short", strategy.short, needshort ? lot : 0, limit = dn, when = (Trend == -1 and time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()