Stratégie de tendance des moyennes mobiles binomiales

Auteur:ChaoZhang est là., Date: 2023-12-08 14:55:19
Les étiquettes:

img

Résumé

La moyenne mobile binomiale (BMA) est un nouveau type d'indicateur de moyenne mobile. Il utilise la moitié des coefficients binomiaux pour calculer le prix moyen, avec des méthodes de calcul uniques, une bonne fluidité et une grande praticité.

Cette stratégie combine un BMA rapide et un BMA lent pour générer des signaux de trading comme le MACD, appartenant à la stratégie de suivi des tendances.

Détails de la stratégie

Nom de la stratégie

Stratégie de tendance des moyennes mobiles binomiales

La logique de la stratégie

  1. Calculer la moyenne mobile binomiale (BMA). Selon la période définie par l'utilisateur, il calcule les coefficients binomiaux et prend la moitié d'entre eux comme poids aux prix moyens. Par exemple, avec la période 5, il calcule 9 coefficients binomiaux et prend leur moitié pour la moyenne pondérée. Cela donne plus de poids aux bougies récentes et une meilleure douceur.

  2. Le BMA rapide est plus sensible aux changements de prix tandis que le BMA lent est plus stable.

  3. Lorsque le BMA rapide dépasse le BMA lent, la position longue est ouverte. Lorsque le BMA rapide tombe en dessous du BMA lent, la position courte est ouverte. Tenez la position jusqu'à ce que le signal opposé apparaisse.

Analyse des avantages

Le plus grand avantage de cette stratégie réside dans le calcul innovant de BMA. Il améliore les forces des moyennes mobiles avec une douceur et une praticité améliorées. Par rapport à EMA et SMA, BMA accorde plus de poids aux bougies récentes tout en conservant plus d'informations historiques. Cela lui permet de mieux capturer les tendances et de générer moins de faux signaux.

En outre, la combinaison rapide et lente de BMA tire pleinement parti des avantages des moyennes mobiles. Elle filtre beaucoup de bruit et ne produit que des signaux aux points tournants de la tendance.

Analyse des risques

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

  1. Comme toutes les stratégies de suivi de tendance, il peut entraîner des pertes lorsque la tendance s'inverse.

  2. Une mauvaise configuration des paramètres de BMA a également un impact sur les performances de la stratégie. Un BMA trop sensible et rapide peut générer de faux signaux tandis qu'un BMA lent et retardé peut manquer les opportunités de tendance. Des tests approfondis sont nécessaires pour trouver la combinaison optimale de paramètres.

  3. La stratégie utilise par défaut la position complète. La taille de la position peut être ajoutée en fonction de la préférence de risque pour limiter les pertes par transaction.

Directions d'optimisation

Les principales orientations d'optimisation sont les tests de la BMA elle-même et de la combinaison de paramètres.

  1. Réglage de la période: Testez différentes périodes BMA rapides et BMA lentes pour trouver la combinaison optimale.

  2. Poids BMA: Testez différents schémas de pondération, comme la répartition complète de la moitié des coefficients binomiaux ou la mise en place d'un poids plus élevé sur les bougies récentes.

  3. Des conditions de filtrage telles que des ruptures et une augmentation du volume peuvent être ajoutées pour éviter des signaux déraisonnables.

  4. Le mécanisme d'arrêt des pertes et le dimensionnement des positions peuvent également être testés pour mieux contrôler les risques.

Conclusion

Cette stratégie propose d'abord l'indicateur unique de moyenne mobile binomiale. Il améliore le calcul de la moyenne mobile et améliore l'utilité et la stabilité globales de la stratégie. Les croisements entre BMA rapide et lent génèrent des signaux de trading simples mais efficaces. Il reste encore de la place pour une optimisation supplémentaire de la fluidité des paramètres et du contrôle des risques.


/*backtest
start: 2022-12-07 00:00:00
end: 2023-12-07 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/
// © HosseinDaftary

//@version=4
strategy("Binomial Moving Average","BMA", overlay=true, margin_long=100, margin_short=100 ,max_bars_back=96)
//Binomial Moving Average:This type of moving average that is made by myself and i did not see anywhere before uses the half of binomial cofficients for
//averaging the prices for example if the period be 5 then we use the 9 degree binomial cofficients(that yields 10 cofficients) and use half of them.
//we use 126/256 for last bar,84/256,36/256,9/256 and finally use 1/256 for 5th bar. Seemingly this MA works better than EMA.
fa_ma=input(title='Fast MA',defval=10)
sl_ma=input(title='Slow MA',defval=30)

fac(n)=>
    fact=1
    for i= 1 to n
        fact:=fact*i
    fact
cof= array.new_float(sl_ma) 

hn_ma(price,length)=>
    sum=1.0
    sum1=0.0
    array.set(cof,length-1,1)
    for i=2 to length
        array.set(cof,length-i,fac(2*length-1)/(fac(i-1)*fac(2*length-i)))
        sum:=sum+array.get(cof,length-i)
    for i=0 to length-1
        array.set(cof,i,array.get(cof,i)/sum)
        sum1:=sum1+array.get(cof,i)*price[i]
    sum1
hn1=plot(hn_ma(close,sl_ma) , color=#00ff00)
hn2=plot(hn_ma(close,fa_ma) ,color=#ff0000)
fill(hn1,hn2,color=hn_ma(close,fa_ma)>hn_ma(close,sl_ma)?color.green:color.red)


longCondition = crossover(hn_ma(close, fa_ma), hn_ma(close, sl_ma))
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(hn_ma(close, fa_ma), hn_ma(close, sl_ma))
if (shortCondition)
    strategy.entry("Short", strategy.short)

Plus de