Diese Strategie erfolgt durch den Ein- und Ausstieg von Geschäften zu veränderten Preisen, um Trends zu folgen.
Berechnen Sie die veränderten Preise anhand des Prozentsatzes der vorherigen Schließungen.
Der nach unten verschiebte Preis ist die Kauflinie, der nach oben verschiebte Preis ist die Verkaufslinie.
Gehen Sie lang ein, wenn der Preis die Kauflinie erreicht.
Aussteigen, wenn der Preis die Verkaufslinie erreicht.
Die Strategie erzielt automatische Gewinnverzögerungen über verschiebte Ein-/Ausgangsniveaus. Weitere Verbesserungen durch Parameteroptimierung und Logikverbesserungen können die Leistung verbessern.
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 4d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=3 strategy(title = "Noro's ShiftEx Strategy v2.0", shorttitle = "ShiftEx 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings buy = input(-10.0, title = "Buy, src-%") sell = input(0.0, title = "Sell, src+%") buysrc = input(low, title = "Source for buy") sellsrc = input(ohlc4, title = "Source for sell") offset = input(true) 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") //Levels bar = close > open ? 1 : close < open ? -1 : 0 mult = 1 / syminfo.mintick lb = bar == -1 ? buysrc + ((buysrc / 100) * (buy * 1)) : buysrc + ((buysrc / 100) * (buy * 2)) levelbuy = round(lb * mult) / mult ls = sellsrc + ((sellsrc / 100) * sell) levelsell = round(ls * mult) / mult //Lines os = offset ? 1 : 0 plot(levelbuy, offset = os, linewidth = 2, color = lime, title = "Buy") plot(levelsell, offset = os, linewidth = 2, color = blue, title = "Sell") //Trading if low[1] > 0 strategy.entry("long", strategy.long, limit = levelbuy, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.entry("close", strategy.short, 0, limit = levelsell, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))