Cette stratégie est basée sur l'indicateur KPL Swing, qui est une tendance simple suivant un système mécanique.
En particulier, il calcule d'abord la fourchette de 20 jours en utilisant le plus haut et le plus bas. Lorsque le close se déplace vers le haut à partir du plus haut de 20 jours, allez long. Lorsque le close se déplace vers le bas à partir du plus bas de 20 jours, allez court. Les niveaux de stop loss sont calculés après l'entrée pour les deux directions pour limiter les pertes.
Les risques peuvent être gérés en ajustant la période de rétrospective, en ajoutant un filtre de tendance, en optimisant le stop loss, etc.
Cette stratégie négocie les oscillations de tendance basées sur l'indicateur KPL Swing. Les avantages sont une opération simple et un stop loss intégré; les inconvénients sont les retards et les contraintes de profit. Les inconvénients peuvent être améliorés grâce à l'optimisation des paramètres, à la combinaison de stratégies tout en conservant les avantages.
/*backtest start: 2022-09-20 00:00:00 end: 2023-09-20 00:00:00 period: 2d basePeriod: 1d 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/ // © ceyhun //@version=4 strategy("KPL Swing Strategy", overlay=true) no = input(20) res = highest(high, no) sup = lowest(low, no) avd = iff(close > res[1], 1, iff(close < sup[1], -1, 0)) avn = valuewhen(avd != 0, avd, 1) tsl = iff(avn == 1, sup, res) sl = iff(close > tsl, highest(lowest(low, no / 2), no / 2), lowest(highest(high, no / 2), no / 2)) plot(tsl, color=#0000FF,title="KPL Swing") plot(sl, color=color.white,title="Stoploss") bgcolor(abs(close - tsl[1]) > close ? color.white : close < tsl ? color.red : color.green, 90, offset=0) if crossover(close, tsl) strategy.entry("Long", strategy.long, comment="Long") if crossunder(close,tsl) strategy.entry("Short", strategy.short, comment="Short")