Cette stratégie combine l'indicateur de vortex et les lignes de moyenne mobile pour identifier la direction et la force des tendances des prix afin de générer des signaux longs et courts potentiels. Lorsque la ligne positive du vortex (VI +) traverse au-dessus de la ligne négative du vortex (VI-), chaque croisement est mis en évidence sur le graphique. Si le prix de clôture est au-dessus de la ligne moyenne mobile, un signal long est généré. Lorsque VI- traverse au-dessus de VI+, si le prix de clôture est en dessous de la ligne moyenne mobile, un signal court est généré.
Indicateur de vortex: Il se compose de deux lignes - Vortex Positive (VI+) et Vortex Negative (VI-). Il est utilisé pour identifier la direction et la force des tendances des prix.
Moyenne mobile (MA): utilise une méthode de moyenne mobile choisie (SMA, EMA, SMMA, WMA ou VWMA) pour lisser les données de prix.
Déterminez les signaux longs et courts: lorsque VI+ traverse au-dessus de VI-, chaque croisement est mis en évidence. Si la fermeture est au-dessus de la ligne de lissage, un signal long est généré. Lorsque VI- traverse au-dessus de VI+, si la fermeture est au-dessous de la ligne de lissage, un signal court est généré.
Combine l'identification des tendances et le lissage pour capturer les tendances des marchés en tendance, en évitant de faux signaux dans les marchés agités.
L'indicateur de vortex identifie efficacement la direction et la force de la tendance.
Une logique stratégique simple et claire, facile à comprendre et à mettre en œuvre.
Paramètres personnalisables, adaptés aux différents environnements du marché.
Il peut générer de faux signaux et des fléchettes sur les marchés à fourchette ou sans tendance.
Par exemple, une moyenne mobile trop courte a une mauvaise capacité de lissage et une plus longue est en retard dans la reconnaissance des changements de tendance.
Incapable de se prémunir contre les fluctuations extrêmes des prix résultant d'événements majeurs imprévus.
Incorporer d'autres indicateurs comme le volume pour déterminer la fiabilité de la tendance.
Optimiser les paramètres pour équilibrer le suivi des tendances et le filtrage du bruit des moyennes mobiles.
Ajouter le stop loss aux pertes de contrôle.
Utiliser l'apprentissage automatique pour l'optimisation automatisée des paramètres.
Incorporer des modules de gestion des risques pour ajuster la taille des positions.
Cette stratégie combine efficacement l'indicateur de vortex et les moyennes mobiles pour capturer les tendances. Elle identifie la direction de la tendance tout en ayant une certaine capacité de filtrage du bruit pour réduire les faux signaux. La logique est simple et flexible à utiliser, fonctionnant bien sur les marchés en tendance.
/*backtest start: 2023-02-01 00:00:00 end: 2024-02-01 00:00:00 period: 1d basePeriod: 1h 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/ // © DraftVenture //@version=5 strategy("Vortex + Moving Average Strategy", overlay=true) //Vortex settings period_ = input.int(14, title="Vortex Length", minval=2) VMP = math.sum( math.abs( high - low[1]), period_ ) VMM = math.sum( math.abs( low - high[1]), period_ ) STR = math.sum( ta.atr(1), period_ ) VIP = VMP / STR VIM = VMM / STR plot(VIP, title="VI +", color=color.white) plot(VIM, title="VI -", color=color.white) len = input.int(9, minval=1, title="MA Length") src = input(close, title="Source") offset = input.int(title="Offset", defval=0, minval=-500, maxval=500) out = ta.sma(src, len) plot(out, color=color.blue, title="MA", offset=offset) ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing") smoothingLine = ma(out, smoothingLength, typeMA) plot(smoothingLine, title="Smoothing Line", color=#f37f20, offset=offset, display=display.none) // Determine long and short conditions longCondition = ta.crossover(VIP, VIM) and close > smoothingLine shortCondition = ta.crossunder(VIP, VIM) and close < smoothingLine crossCondition = ta.crossunder(VIP, VIM) or ta.crossunder(VIM, VIP) // Strategy entry and exit logic if longCondition strategy.entry("Long", strategy.long) if shortCondition strategy.entry("Short", strategy.short) bgcolor(crossCondition ? color.new(color.white, 80) : na) // Strategy by KP