Stratégie de suivi de tendance sur plusieurs périodes


Date de création: 2023-11-14 14:29:39 Dernière modification: 2023-11-14 14:29:39
Copier: 1 Nombre de clics: 667
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance sur plusieurs périodes

Aperçu

La stratégie utilise plusieurs indicateurs tels que la moyenne, le MACD et le RSI pour identifier la direction de la tendance sur plusieurs périodes de temps, permettant de suivre la tendance des transactions sur l’indice SPX500.

Principe de stratégie

  1. Utilisez une moyenne mobile simple de 10 jours pour déterminer la direction de la tendance des prix. Lorsque les prix traversent la ligne des 10 jours, ils sont positifs et baissent.

  2. Appliquer la dynamique de jugement du MACD positif-négatif bidirectionnel. Calculer la différence entre les moyennes mobiles des indices 12 et 21, puis identifier un signal d’achat et de vente par la croisée des lignes rapides et lentes de la différence entre les lignes moyennes.

  3. Le RSI à 14 jours et sa moyenne à 50 jours sont calculés, la moyenne étant un signal positif au-dessus du RSI et la moyenne étant un signal négatif au-dessous.

  4. La cohérence de la tendance est confirmée à l’aide des délais de 1, 3 et 5 minutes.

  5. Un signal d’achat est généré lorsque le prix traverse la ligne de 10 jours au-dessus, la ligne moyenne au-dessus du RSI et la ligne lente au-dessus du MACD. Un signal de vente est généré lorsque le prix traverse la ligne de 10 jours au-dessous, la ligne moyenne au-dessous du RSI et la ligne lente au-dessous du MACD.

Avantages stratégiques

  1. Les combinaisons d’indicateurs permettent d’identifier les tendances et d’améliorer l’exactitude des signaux. La moyenne à 10 jours détermine la direction de la tendance principale, le MACD détermine la force de la dynamique et le RSI confirme la survente. Les combinaisons d’indicateurs peuvent être vérifiées les unes par les autres, ce qui réduit les erreurs de transaction.

  2. Confirmation de plusieurs fuseaux horaires pour éviter d’être induit en erreur par le bruit du marché. Double vérification des fuseaux horaires de 1, 3 et 5 minutes pour assurer la synchronisation des signaux et filtrer les faux signaux.

  3. Les graphiques aident à déterminer les caractéristiques de la forme des prix, évitent les zones extrêmes des points d’achat et de vente et réduisent le risque de perte.

  4. La fréquence de négociation est modérée et correspond aux caractéristiques de négociation de l’indice. En utilisant la moyenne des 10 jours comme indicateur principal de jugement, la fréquence de négociation n’est pas trop élevée et les coûts de négociation excessifs en évitant les transactions répétitives sont évités.

Risque stratégique

  1. L’incapacité à identifier les cas de rupture causés par des événements soudains. Les événements irrationnels peuvent perturber le jugement du modèle, ce qui devrait réduire le risque d’évitement des positions.

  2. Les paramètres sont fixes et ne prennent pas en compte les changements de l’environnement du marché. Dans la pratique, les paramètres doivent être ajustés en fonction de la dynamique de l’environnement de la grande ville, afin que la stratégie s’adapte à de nombreuses situations.

  3. Les points d’achat et de vente sont trop idéalisés et la mise en œuvre est difficile. Les facteurs tels que le coût des points de glissement doivent être ajustés pour rendre les signaux plus exécutables.

  4. Les délais de prise de décision sont augmentés par des délais de prise de décision plus longs. Les délais de prise de décision sont réduits par une meilleure maîtrise du vent en cas d’urgence.

Orientation de l’optimisation de la stratégie

  1. Augmentation des mécanismes de stop-loss, tels que le stop-loss mobile, le stop-loss en pourcentage, etc. pour contrôler les pertes individuelles.

  2. Optimiser les paramètres pour les adapter dynamiquement à l’environnement du marché et améliorer la stabilité de la stratégie.

  3. En combinaison avec le contrôle des événements sur les points chauds du marché, les événements majeurs peuvent avoir un impact sur la stratégie.

  4. Il faut tenir compte des coûts réels de la transaction, tels que les points de glissement, et ajuster les points d’achat et de vente pour rendre le signal exécutable.

  5. Tests de différentes méthodes de prise de valeur, telles que les lignes K, comme source de confirmation de signal, avec de nombreux moyens de vérification de plusieurs périodes.

  6. L’ajout d’algorithmes d’apprentissage automatique, des modèles d’entraînement basés sur le Big Data et l’optimisation automatique des paramètres de stratégie.

Résumer

Cette stratégie permet de suivre la tendance de l’indice SPX500 en identifiant les tendances de plusieurs indicateurs et en confirmant les signaux à plusieurs périodes. L’avantage de la stratégie réside dans la haute précision du signal et la forte capacité de résistance au bruit, mais il est nécessaire de faire attention au contrôle des risques et de maintenir l’optimisation dynamique des paramètres de la stratégie.

Code source de la stratégie
/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 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/
// USE HEIEN ASHI, 1 min, SPX 500 USD OANDA
// © connor2279
//@version=5
strategy(title="SPX Strategy", shorttitle="SPXS", overlay=true)

//SMA
len1 = 10
src1 = input(close, title="SMA Source #1")
out1 = ta.sma(src1, len1)
plot(out1, title="SMA #1", color=close >= out1 ? color.lime : color.red, linewidth=2)

data_over = ta.crossover(close, out1)
dataO = close >= out1
data_under = ta.crossunder(close, out1)
dataU = close < out1

bgcolor(color=ta.crossover(close, out1) ? color.new(color.lime, 90) : na)
bgcolor(color=ta.crossunder(close, out1) ? color.new(color.red, 90) : na)     

//Norm MacD
sma = 12
lma = 21
tsp = 10
np = 50
    
sh = ta.ema(close,sma)  

lon= ta.ema(close,lma) 

ratio = math.min(sh,lon)/math.max(sh,lon)

Mac = ratio - 1
if(sh>lon)
    Mac := 2-ratio - 1
else
    Mac := ratio - 1

MacNorm = ((Mac-ta.lowest(Mac, np)) /(ta.highest(Mac, np)-ta.lowest(Mac, np)+.000001)*2)- 1

MacNorm2 = MacNorm

if(np<2)
    MacNorm2 := Mac
else
    MacNorm2 := MacNorm
    
Trigger = ta.wma(MacNorm2, tsp)

trigger_above = Trigger >= MacNorm
trigger_under = Trigger < MacNorm
plotshape(ta.crossover(Trigger, MacNorm2), style=shape.triangledown, color=color.red)
plotshape(ta.crossunder(Trigger, MacNorm2), style=shape.triangledown, color=color.lime)

//RSI / SMA RSI
swr=input(true,title="RSI")
src = close
len = 14
srs = 50
up = ta.rma(math.max(ta.change(src), 0), len)
down = ta.rma(-math.min(ta.change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
mr = ta.sma(rsi,srs)
rsi_above = rsi >= mr
rsi_under = rsi < mr

//All
buySignal = rsi_above and trigger_under and dataO
shortSignal = rsi_under and trigger_above and dataU
bgcolor(color=buySignal ? color.new(color.lime,97) : na)     
bgcolor(color=shortSignal ? color.new(color.red, 97) : na)     
     
sellSignal = ta.cross(close, out1) or ta.cross(Trigger, MacNorm2) or ta.cross(rsi, mr)
if (buySignal)
    strategy.entry("LONG", strategy.long, 1)

if (shortSignal)
    strategy.entry("SHORT", strategy.short, 1)

// Submit exit orders
strategy.close("LONG", when=sellSignal)
strategy.close("SHORT", when=sellSignal)