Stratégie de croisement des moyennes mobiles

Auteur:ChaoZhang est là., Date: 2023-11-07 15:48:41 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de croisement des moyennes mobiles est une stratégie d'analyse technique très classique. Elle calcule les moyennes mobiles de différentes périodes et observe leur croisement pour déterminer la tendance du marché, afin d'atteindre l'objectif d'acheter bas et de vendre haut. Cette stratégie convient au trading à moyen et long terme et peut filtrer efficacement le bruit du marché et identifier les tendances.

Principe

Cette stratégie calcule principalement la moyenne mobile simple de 10 jours (SMA) et la moyenne mobile triangulaire de 10 jours (TRIMA). Lorsque la SMA traverse au-dessus de la TRIMA, un signal d'achat est généré, indiquant que la tendance du marché a changé de baisse à hausse, et nous pouvons acheter. Lorsque la SMA traverse au-dessous de la TRIMA, un signal de vente est généré, indiquant que la tendance du marché a changé de hausse à baisse, et nous pouvons vendre.

Plus précisément, la stratégie entre d'abord le prix de clôture et définit les durées de cycle pour le calcul des SMA et TRIMA.

La valeur de l'échangeur est la valeur de l'échangeur de l'échangeur.

où Pn est le prix de clôture des derniers n jours.

La formule de calcul de TRIMA est la suivante:

Le nombre de fois où les données sont utilisées est le nombre de fois où les données sont utilisées.

Les valeurs de référence sont les valeurs de référence de l'établissement.

Donc, TRIMA est en fait une SMA calculée sur le SMA, qui a un meilleur effet de lissage. Lorsque la SMA à court terme traverse au-dessus de la TRIMA à long terme, cela indique une percée de la moyenne mobile à court terme, et nous pouvons acheter.

Les avantages

Le plus grand avantage de cette stratégie est qu'elle utilise la capacité de jugement des tendances des moyennes mobiles pour identifier efficacement les tendances du marché et filtrer le bruit du marché à court terme, afin d'acheter bas et de vendre haut. Par rapport à une moyenne mobile unique, la combinaison de SMA et TRIMA peut améliorer la fiabilité des percées et réduire la probabilité de fausses percées. En outre, la moyenne mobile elle-même a une bonne fluidité, ce qui peut également jouer le rôle d'arrêt de perte pour réduire la probabilité d'un seul arrêt de perte. En général, cette stratégie est très appropriée pour le trading à moyen et long terme.

Les risques

Le principal risque de cette stratégie est que la moyenne mobile elle-même est en retard par rapport aux changements de prix, ce qui peut manquer le stade précoce de la tendance, entraînant une entrée tardive.

Directions d'optimisation

Cette stratégie peut être optimisée dans les aspects suivants:

  1. Optimiser les paramètres de cycle de la moyenne mobile pour trouver la meilleure combinaison scientifiquement.

  2. Ajoutez des indicateurs de filtrage tels que le volume des transactions pour éviter les mauvais signaux lorsque le volume des transactions est faible.

  3. Combiner des indicateurs de tendance tels que le MACD pour juger des tendances locales et éviter les transactions fréquentes sur les marchés de consolidation.

  4. Adopter des moyennes mobiles adaptatives pour ajuster dynamiquement les paramètres du cycle lorsque le marché entre dans des phases spécifiques.

  5. Vérifiez avec plusieurs délais, par exemple en considérant l'entrée uniquement lorsque les lignes quotidiennes et de 4 heures sont franchies.

Résumé

La stratégie de croisement de la moyenne mobile est une stratégie d'analyse technique simple et pratique qui est très adaptée au trading de positions à moyen et long terme. Elle peut identifier efficacement la direction de la tendance. Mais elle a aussi un certain retard, et doit être filtrée et optimisée avec des indicateurs de jugement de tendance pour réduire la probabilité de faux signaux. Si les paramètres sont correctement optimisés, elle peut à la fois protéger le capital et saisir de plus grandes opportunités de tendance.


/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//TMA strategy I came across, uses sma to display entry/exit points for both margin and non margin trading. The buy/sell signals as well as syntax are hidden behind comments if you scroll down.
//Change the commented fields for margin or spot trading!
//@version=3
strategy("MP Rollercoaster Strat", overlay=true)

bgcolor ( color=black, transp=0, title='Blackground', editable=true)

x = input(close, "Red")
n = input(10, "periods")
trima = sma(sma(x,n), n)

kisa=input(5, "Green")
sma = sma(close, kisa)

bull = (sma>trima)
fill(plot(sma, color = green), plot(trima, color=red), bull ? green : red)

//Conditions
buy_signal = crossover(sma,trima)
sell_signal = crossunder(sma,trima)

plotshape(sell_signal, style=shape.triangleup, color = red, text="Short")
plotshape(buy_signal, style=shape.triangledown, color = green, text="Long")
//plotshape(sell_signal, style=shape.triangleup, color = red, text="Sell")
//plotshape(buy_signal, style=shape.triangledown, color = green, text="Buy")

alertcondition(sell_signal, title = 'Short', message = 'e= s= c=position b=long t=market l= | delay=30 | e= s= b=short l= t=market q=0.01')
alertcondition(buy_signal, title = 'Long', message =  'e= s= c=position b=short t=market l= | delay=30 | e= s= b=long l= t=market q=0.01')

//alertcondition(sell_signal, title = 'Sell', message = 'e= s= c=order b=buy | delay=3 | e= b=sell q=99% p=0.70% u=currency')
//alertcondition(buy_signal, title = 'Buy', message =  'e= s= c=order b=sell | delay=30 | e= b=buy q=80 p=0.1% u=currency')

testStartYear = input(2018, "From Year") 
testStartMonth = input(4, "From Month")
testStartDay = input(1, "From Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "To Year")
testStopMonth = input(1, "To Month")
testStopDay = input(1, "To Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true

if testPeriod()
    if buy_signal
        strategy.entry("Long", true)
    

    if sell_signal
        strategy.close("Long")

Plus de