Stratégie de suivi de l'inversion de la moyenne mobile double


Date de création: 2023-12-07 17:40:12 Dernière modification: 2023-12-07 17:40:12
Copier: 0 Nombre de clics: 611
1
Suivre
1619
Abonnés

Stratégie de suivi de l’inversion de la moyenne mobile double

L’idée principale de cette stratégie est d’utiliser les moyennes mobiles en tant que signaux d’achat et de vente, en combinant la façon dont le prix a traversé la ligne de parité. Générer un signal d’achat lorsque la ligne de parité à court terme traverse la ligne de parité à long terme; générer un signal de vente lorsque la ligne de parité à court terme traverse la ligne de parité à long terme.

Les détails de la stratégie sont les suivants:

  1. Calculer les moyennes mobiles simples à court terme et à long terme.

  2. La comparaison des prix est basée sur le fait qu’ils sont supérieurs ou inférieurs à la moyenne mobile, en tenant le prix au-dessus de la moyenne mobile comme un sommet et le prix en dessous de la moyenne mobile comme un sommet vide.

  3. Faites plus lorsque vous portez une longue moyenne sur la courte moyenne; faites-le vide lorsque vous portez une longue moyenne sous la courte moyenne.

  4. Il est possible de changer de position de façon aléatoire.

Les principaux avantages de cette stratégie sont:

  1. Les stratégies bi-linéaires combinent le suivi des tendances et le trading de retournement, permettant de suivre les tendances du marché et de saisir les opportunités de retournement.

  2. Les fourches dorées de ligne uniforme ont une certaine durabilité et permettent d’éliminer efficacement les fausses percées.

  3. L’utilisation de la théorie des lignes moyennes est un outil pour localiser les bénéfices dans les fluctuations de tendance.

Les principaux risques de cette stratégie sont:

  1. Les stratégies bi-parallèles sont sensibles aux paramètres et une mauvaise configuration des paramètres des moyennes mobiles peut entraîner des transactions fréquentes ou des opportunités manquées.

  2. L’échec d’une percée peut entraîner des pertes et nécessite un arrêt efficace des pertes pour contrôler les risques.

  3. La reprise de la tendance n’est pas forcément un succès, mais peut être une perte si elle se poursuit.

Les principaux axes d’optimisation de la stratégie sont:

  1. Les paramètres de la moyenne mobile sont testés et optimisés pour trouver la meilleure combinaison de paramètres.

  2. Ajout d’indicateurs de tendance, de différenciation entre les tendances et les chocs.

  3. Augmentation de l’efficacité des arrêts de perte pour contrôler les risques, tels que le suivi des arrêts de perte, la suspension des arrêts de perte, etc.

  4. La stabilité de la stratégie est améliorée par la combinaison d’autres indicateurs.

En résumé, cette stratégie est une stratégie de suivi de retournement bi-homogène, qui prend en compte le suivi de la tendance et le trading de retournement. Les meilleurs résultats peuvent être obtenus avec l’optimisation des paramètres et la maîtrise des risques. Cependant, toute stratégie peut faire face à des risques tels que l’erreur de jugement, l’échec de l’arrêt des pertes.

Code source de la stratégie
/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 10m
basePeriod: 1m
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/
// © HPotter
//  Simple SMA strategy
//
// WARNING:
//      - For purpose educate only
//      - This script to change bars colors
//@version=4
strategy(title="Simple SMA Strategy Backtest", shorttitle="SMA Backtest", precision=6, overlay=true)
Resolution = input(title="Resolution", type=input.resolution, defval="D")
Source = input(title="Source", type=input.source, defval=close)
xSeries = security(syminfo.tickerid, Resolution, Source)
Length = input(title="Length", type=input.integer, defval=14, minval=2)
TriggerPrice = input(title="Trigger Price", type=input.source, defval=close)
BarColors = input(title="Painting bars", type=input.bool, defval=true)
ShowLine = input(title="Show Line", type=input.bool, defval=true)
UseAlerts = input(title="Use Alerts", type=input.bool, defval=false)
reverse = input(title="Trade Reverse", type=input.bool, defval=false)
pos = 0
xSMA = sma(xSeries, Length)
pos := iff(TriggerPrice > xSMA, 1,
         iff(TriggerPrice < xSMA, -1, nz(pos[1], 0)))
nRes = ShowLine ? xSMA : na
alertcondition(UseAlerts == true and pos != pos[1] and pos == 1, title='Signal Buy', message='Strategy to change to BUY')
alertcondition(UseAlerts == true and pos != pos[1] and pos == -1, title='Signal Sell', message='Strategy to change to SELL')
alertcondition(UseAlerts == true and pos != pos[1] and pos == 0, title='FLAT', message='Strategy get out from position')
possig = iff(reverse and pos == 1, -1,
           iff(reverse and pos == -1, 1, pos))
if (possig == 1)
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)
if (possig == 0)
    strategy.close_all()
nColor = BarColors ? possig == -1 ? color.red : possig == 1 ? color.green : color.blue : na 
barcolor(nColor)
plot(nRes, title='SMA', color=#00ffaa, linewidth=2, style=plot.style_line)