Einfache und klare Logik, die leicht zu verstehen und umzusetzen ist.
Mögliche Lösungen:
Hinzufügen einer Kreuzbestätigung mit MACD, KDJ, um ein systemisches SMA-Verzögerungsrisiko zu vermeiden
Optimierung der ATR-Periode und des Koeffizienten, um einen angemessenen Kanalbereich zu gewährleisten.
Es ist wichtig, dass der Markt für die Entwicklung von Trendverzerrungen auf der Grundlage von Trendverzerrungen ermittelt wird, wobei bei Bull Trends Long und bei Bear Trends Short zu wählen ist.
Hinzufügen zusätzlicher Indikatorfilter zur Verringerung falscher Breakout-Whipsaws, wobei MACD, KDJ usw. zur Bestätigung von Signalen verwendet werden.
Schneiden Sie Verluste schnell ab, wenn sich der Kurs von der Basislinie des SMA entfernt.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © omererkan //@version=5 strategy(title="ATR Channel Breakout") smaLength = input.int(150, title="SMA Length") atrLength = input.int(30, title="ATR Length") ubOffset = input.float(4, title="Upperband Offset", step=0.50) lbOffset = input.float(4, title="Lowerband Offset", step=0.50) smaValue = ta.sma(close, smaLength) atrValue = ta.atr(atrLength) upperBand = smaValue + (ubOffset * atrValue) lowerBand = smaValue - (lbOffset * atrValue) plot(smaValue, title="SMA", color=color.orange) plot(upperBand, title="UB", color=color.green, linewidth=2) plot(lowerBand, title="LB", color=color.red, linewidth=2) enterLong = ta.crossover(close, upperBand) exitLong = ta.crossunder(close, smaValue) enterShort = ta.crossunder(close, lowerBand) exitShort = ta.crossover(close, smaValue) if enterLong strategy.entry("Long", strategy.long) if enterShort strategy.entry("Short", strategy.short) if exitLong strategy.close("Long", "Close Long") if exitShort strategy.close("Short", "Close Short")