Die Strategie basiert auf einer Boll-Band-Indikator-Design, wenn der Preis durchbrechen Boll-Band auf der Unterbahn, nehmen Sie entsprechend zu tun oder zu tun. Die Strategie profitiert durch die Erfassung der Durchbruch Trends.
Konkret berechnet die Strategie zunächst den langen mittleren SMA und den mehrfachen Standarddifferenz-Ober-Ober-Trail. Wenn der Schlusskurs von unten nach oben den Untertrail durchbricht, macht man einen Übertritt.
Die Strategie versucht, die Expansion nach dem Kursbruch zu erfassen. Beim Kursbruch ist der Kurs nach unten stärker, während der Kurs nach oben stärker ist, was den Handel in die gleiche Richtung fördert.
Diese Risiken können durch die Optimierung der Einstiegsbedingungen, die Hinzufügung von Stop-Loss-Strategien und die Einführung von Trendfiltern verringert werden.
Die Strategie basiert auf einem Boll-Band-Break-Strategie, die durch die Erfassung von Breakouts profitiert. Der Vorteil ist, dass die Idee einfach ist und leicht umgesetzt werden kann. Der Nachteil ist, dass die Strategie leicht von Wendungsbewegungen abgeleitet werden kann.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)
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")
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
strategy.close_all()