Diese Strategie handelt auf der Grundlage von Preisschwankungen über die jüngsten Extreme hinaus. Sie berechnet den höchsten Höchststand und das niedrigste Tief über einen Zeitraum und erzeugt Signale, wenn der Preis diese Niveaus durchbricht.
Berechnen Sie höchste Höchst- und niedrigste Höchst-Dnex über N Perioden.
Gehen Sie lang, wenn der Preis oberhalb des Höchststandes bricht.
Gehen Sie kurz, wenn der Preis unter Dnex fällt.
Nur für lange, nur für kurze oder beide Richtungen konfigurierbar.
Konfigurierbare Kapitalverwendungsrate.
Konfigurierbarer Handelszeitbereich.
Die Strategie folgt Trends mit Hilfe von Preis-Breakout-Signalen. Die Verbesserung der Breakout-Gültigkeit und der Einstellungsparameter kann die Performance verbessern.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-20 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Brakeout Strategy v1.0", shorttitle = "Brakeout str 1.0", 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 = "Capital, %") len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length") showlines = input(true, defval = true, title = "Show Lines?") 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") //Extremums upex = highest(high, len) dnex = lowest(low, len) col = showlines ? blue : na plot(upex, color = col, linewidth = 2) plot(dnex, color = col, linewidth = 2) //Trading lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1] if (not na(close[len])) strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = upex + syminfo.mintick) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = dnex - syminfo.mintick) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()