Diese Strategie verwendet den Bollinger Bands-Indikator, um die Markttrendrichtung zu bestimmen, und nimmt Gegentrend-Trades ein, wenn eine Trendumkehr auftritt. Es geht lang, wenn der Preis im Aufwärtstrend unter den unteren Band bricht; und geht kurz, wenn der Preis im Abwärtstrend über den oberen Band bricht. Auch wird ein gleitender Durchschnitt als Benchmark für den langfristigen Trend verwendet, um die Strategie stabiler zu machen.
Diese Strategie nutzt das mittlere Band, das obere Band und das untere Band der Bollinger Bands, um die Markttrendrichtung zu bestimmen. Das mittlere Band ist der exponentielle gleitende Durchschnitt der n-Periode, während das obere Band und das untere Band das mittlere Band +2.3 Standardabweichung und das mittlere Band -2.3 Standardabweichung sind. Wenn der Preis unter das untere Band bricht, zeigt dies einen aktuellen Aufwärtstrend an. Wenn der Preis über das obere Band bricht, zeigt er einen aktuellen Abwärtstrend an.
Darüber hinaus setzt die Strategie einen einfachen gleitenden Durchschnitt (SMA) mit 200 Perioden als Maßstab für die langfristige Trendbeurteilung fest. Handelssignale werden nur ausgelöst, wenn BB- und SMA-Indikatoren sich auf die gleiche Richtung einigen. Dies kann einige falsche Ausbrüche effektiv filtern.
Die spezifische Handelslogik ist wie folgt:
Verbesserungen
Das ist eine einfache und leicht verständliche Strategie, mit der BB Trends bestimmt und gegentrendtrendige Trades an Wendepunkten vornimmt.
/*backtest start: 2023-10-23 00:00:00 end: 2023-11-22 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/ // © Aayonga //@version=5 strategy("布林趋势震荡单", overlay=true,initial_capital=10000,default_qty_type=strategy.fixed, default_qty_value=1 ) bollL=input.int(20,minval=1,title = "长度") bollmult=input.float(2.3,minval=0,step=0.1,title = "标准差") basis=ta.ema(close,bollL) dev=bollmult*ta.stdev(close,bollL) upper=basis+dev lower=basis-dev smaL=input.int(200,minval=1,step=1,title = "趋势分界线") sma=ta.sma(close,smaL) //多头趋势 longT=upper>sma and basis>sma and lower>=sma //空头趋势 shortT=upper<sma and basis<sma and lower<=sma //入场位 longE=ta.crossover(close,lower) shortE=ta.crossover(close,upper) //出场位 longEXIT=ta.crossover(high,upper) shortEXIT=ta.crossunder(close,basis) or ta.crossover(close,ta.sma(close,230)) if longT and longE strategy.entry("多",strategy.long) if longEXIT strategy.close("多",comment = "多出场") if shortE and shortT strategy.entry("空",strategy.short) if shortEXIT strategy.close("空",comment = "空出场")