La stratégie est nomméeStratégie de suivi des tendances basée sur la SMA et l'ATR.
Cette stratégie utilise l'indicateur SMA pour déterminer la direction de la tendance des prix et définit des positions stop-loss avec l'indicateur ATR pour suivre la tendance.
(1) Passez long lorsque le prix de clôture augmente et est supérieur à la SMA.
2) Faire du short lorsque le prix de clôture baisse et est inférieur à la SMA.
Utiliser la valeur de l'indicateur ATR multipliée par le multiple de la perte d'arrêt définie comme position de la perte d'arrêt.
Après la fermeture de chaque barre, vérifiez la position stop loss et mettez-la à jour à une valeur de stop loss plus proche du prix actuel.
Activement arrêter la perte lorsque le prix touche la ligne de stop-loss.
Le réglage dynamique de stop loss de l'indicateur ATR permet de suivre automatiquement les tendances.
Des règles de stop loss strictes aident à contrôler le tirage maximum par transaction.
Seulement 3 paramètres permettent un ajustement et une optimisation faciles.
Si le multiple stop loss est trop élevé, la position stop loss peut être trop lâche, ce qui augmente le drawdown.
Les faux écarts de prix peuvent conduire à manquer la direction de la tendance.
Une dépendance excessive à l'optimisation des paramètres peut entraîner un ajustement des courbes.
D'autres types d'algorithmes de stop loss peuvent être testés, tels que le stop loss mobile, le stop loss proportionnel, etc.
D'autres indicateurs peuvent être ajoutés pour filtrer les fausses ruptures, par exemple en ajoutant des conditions de volume de négociation.
Historique des tests antérieurs pour évaluer les paramètres
L'idée générale de cette stratégie est claire. Elle juge la direction de la tendance à travers la SMA et utilise l'ATR pour suivre les tendances avec un bon contrôle du retrait. Elle convient au trading de tendance à moyen et long terme. Mais les paramètres doivent encore être correctement ajustés dans le trading en direct et les risques de sur-optimisation doivent être évités.
/*backtest start: 2024-01-16 00:00:00 end: 2024-01-16 17:00:00 period: 1m basePeriod: 1m 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="SMA with ATR", overlay=true) smaLen = input.int(100, title="SMA Length") atrLen = input.int(10, title="ATR Length") stopOffset = input.float(4, title="Stop Offset Multiple", step=0.25) smaValue = ta.sma(close, smaLen) stopValue = ta.atr(atrLen) * stopOffset lowerCloses = close < close[1] and close[1] < close[2] and close[2] < close[3] enterLong = close > smaValue and lowerCloses longStop = 0.0 longStop := if enterLong and strategy.position_size < 1 close - stopValue else math.max(close - stopValue, longStop[1]) higherCloses = close > close[1] and close[1] > close[2] and close[2] > close[3] enterShort = close < smaValue and higherCloses shortStop = 0.0 shortStop := if enterShort and strategy.position_size > -1 close + stopValue else math.min(close + stopValue, shortStop[1]) plot(smaValue, color=#4169e1, linewidth=2, title="SMA") plot(strategy.position_size > 0 ? longStop : na, color=color.lime, style=plot.style_linebr, title="Long stop", linewidth=2) plot(strategy.position_size < 0 ? shortStop : na, color=color.red, style=plot.style_linebr, title="Short stop", linewidth=2) if enterLong strategy.entry("EL", strategy.long) if enterShort strategy.entry("ES", strategy.short) if strategy.position_size > 0 strategy.exit("SL Long", from_entry="EL", stop=longStop) if strategy.position_size < 0 strategy.exit("SL Short", from_entry="ES", stop=shortStop) if enterLong strategy.cancel("Exit Short") if enterShort strategy.cancel("Exit Long")