Tendance moyenne mobile suivant la stratégie de négociation

Auteur:ChaoZhang est là., Date: 2023-12-11 15h05 et 31 min
Les étiquettes:

img

Résumé

Cette stratégie calcule la moyenne mobile et le taux de variation des prix pour déterminer si l'état actuel est en tendance haussière ou en tendance baissière combinée à des lignes K sur une certaine période, et va donc long ou court.

Principe de stratégie

Cette stratégie calcule d'abord la moyenne mobile simple a de longueur l et le taux de variation de prix r de longueur l. Ensuite, elle calcule la différence k entre le prix actuel de la ligne K et la moyenne mobile. Enfin, elle calcule la somme de la somme de k sur les dernières lignes K.

Lorsque la somme est supérieure à 0, elle indique une tendance haussière actuelle et la stratégie sera longue. Lorsque la somme est inférieure à 0, elle indique une tendance baissière actuelle et la stratégie sera courte.

Une fois que la position est longue ou courte, elle est maintenue jusqu'à ce que la tendance s'inverse (la somme change de positive à négative ou vice versa), puis la position est fermée.

Analyse des avantages

Le plus grand avantage de cette stratégie est qu'elle peut capturer la tendance et qu'elle est adaptée au trading de tendance.

  1. L'utilisation de la moyenne mobile pour déterminer la direction générale de la tendance peut filtrer efficacement le bruit du marché et bloquer la tendance majeure.

  2. L'application de l'indicateur du taux de variation des prix pour mesurer la force de l'élan permet d'éviter de manquer une forte dynamique.

  3. En tenant compte de plusieurs lignes K sur une période, on peut déterminer plus précisément la tendance et éviter d'être induit en erreur par des auteurs individuels.

  4. Tant que la tendance demeure inchangée, continuez à maintenir la position pour maximiser les profits du marché tendance.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. L'incapacité de déterminer avec précision le moment de la fin de la tendance, peut arrêter les pertes prématurément ou manquer certains bénéfices.

  2. Ne pouvant contrôler efficacement la taille d'une perte unique, les pertes peuvent être importantes dans des conditions de marché extrêmes.

  3. Des paramètres de stratégie inappropriés peuvent entraîner une négociation trop fréquente ou la perte de certaines opportunités de négociation.

  4. Les détentions à long terme peuvent faire face à des risques d'intérêt et de marge au jour le jour.

Pour contrôler les risques, nous pouvons définir des points d'arrêt des pertes, ne négocier que des produits très liquides, optimiser les paramètres et utiliser raisonnablement l'effet de levier.

Directions d'optimisation

Les principaux aspects pour optimiser cette stratégie sont les suivants:

  1. Testez les moyennes mobiles et les taux de variation des prix de différentes longueurs pour trouver la meilleure combinaison de paramètres.

  2. Essayez d'autres indicateurs tels que le MACD pour mieux déterminer la tendance et améliorer encore la précision.

  3. Ajoutez des mécanismes de gestion de position, tels que la prise de profit après avoir réalisé certains bénéfices, pour contrôler les pertes uniques.

  4. Incorporer des indicateurs de volatilité pour définir des arrêts dynamiques afin de réduire les risques dans des conditions de marché extrêmes.

  5. Optimiser la logique d'entrée et de sortie pour filtrer les fausses ruptures et améliorer l'efficacité des transactions.

Conclusion

La logique générale de cette stratégie est claire et facile à mettre en œuvre. En suivant les tendances pour le trading de détention à long terme, le contrôle du tirage est relativement raisonnable. Il convient aux investisseurs qui recherchent des rendements stables. En optimisant davantage le stop loss et la gestion de position, on peut s'attendre à de bons rendements stables à long terme.


/*backtest
start: 2023-12-03 00:00:00
end: 2023-12-10 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=662, overlay=false)

l = input(defval=170,title="Length for indicator")
s = input(title="Length of summation",defval=18)
a= sma(close,l)
r=roc(close,l)
k=close-a
sum = 0
for i = 0 to s
    sum := sum + k[i]
//plot(a,color=yellow,linewidth=2,transp=0)
//bc =  iff( sum > 0, white, teal)
//plot(sum,color=bc, transp=20, linewidth=3,style=columns)
//plot(sma(sum,3),color=white)
//hline(0)

inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na

////buyEntry = crossover(source, lower)
////sellEntry = crossunder(source, upper)
if sum>0
    strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")
if sum<0
    strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands",  comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

strategy.initial_capital = 50000
plot(strategy.equity-strategy.initial_capital-strategy.closedtrades*.25/2, title="equity", color=red, linewidth=2)
hline(0)
//longCondition = sum>0
//exitlong = sum<0

//shortCondition = sum<0
//exitshort = sum>0

//strategy.entry(id = "Long", long=true, when = longCondition)
//strategy.close(id = "Long", when = exitlong)
//strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)

//strategy.entry(id = "Short", long=false, when = shortCondition)
//strategy.close(id = "Short", when = exitshort)
//strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)

Plus de