Stratégie de tendance de la moyenne mobile binomiale


Date de création: 2023-12-08 14:55:19 Dernière modification: 2023-12-08 14:55:19
Copier: 0 Nombre de clics: 449
1
Suivre
1228
Abonnés

Stratégie de tendance de la moyenne mobile binomiale

Aperçu

La moyenne mobile binaire (BMA) est un nouveau type d’indicateur de moyenne mobile. Elle utilise la moitié d’un facteur binaire pour calculer la valeur moyenne, avec des avantages uniques, une bonne fluidité et une grande praticité.

Cette stratégie combine un BMA rapide et un BMA lent pour former un signal de négociation similaire à celui du MACD et appartient à la stratégie de suivi de la tendance. Elle peut être utilisée sur plusieurs cycles et convient aux opérations sur les lignes moyennes et longues.

Détails de la stratégie

Nom de la stratégie

Stratégie de tendance des moyennes mobiles binaires

Principe de stratégie

  1. Calculer une moyenne mobile binaire (BMA). Elle calcule le coefficient binaire en fonction de la longueur de cycle définie par l’utilisateur, puis prend la moitié de sa valeur comme prix moyen pondéré. Par exemple, avec une longueur de cycle de 5, on calcule 9 fois le coefficient binaire, en prenant la moitié comme moyenne pondérée.

  2. La BMA rapide est plus sensible aux variations de prix et la BMA lente est plus stable. Leur croisement génère un signal de transaction.

  3. Lorsque le BMA rapide traverse le BMA lent, faites plus; lorsque le BMA rapide traverse le BMA lent, faites le vide. Après être entré dans le terrain, maintenez la position jusqu’à ce qu’un signal de retour apparaisse.

Analyse des avantages

Le plus grand avantage de cette stratégie réside dans le fait que la méthode de calcul de l’indicateur BMA est nouvelle, elle renforce les avantages des moyennes mobiles, améliore la fluidité et la pratique. Comparé à l’EMA et à la SMA, la BMA a un poids plus important sur les lignes K les plus récentes, tout en conservant plus d’informations historiques. Cela lui permet de mieux capturer les tendances et de produire moins de faux signaux.

En outre, la combinaison des BMA rapide et lente tire pleinement parti des avantages des moyennes mobiles, qui filtrent une grande quantité de bruit et ne produisent des signaux de négociation que lors de virages de tendance. La stratégie elle-même est logiquement simple, facile à comprendre et à mettre en œuvre et convient aux opérations sur les lignes moyennes et longues.

Analyse des risques

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

  1. Comme toutes les stratégies de suivi de tendances, il est facile de faire des pertes lorsque la tendance est inversée. La solution consiste à définir des arrêts de perte ou à optimiser les paramètres pour rendre la BMA plus sensible.

  2. Une mauvaise configuration des paramètres BMA peut également affecter l’efficacité de la stratégie. Si le BMA rapide est trop sensible, il augmente le faux signal. Si le BMA lent est trop en retard, il peut manquer une opportunité de tendance.

  3. Cette stratégie permet de régler la gestion des positions en fonction de vos préférences de risque et de réduire les pertes individuelles.

Direction d’optimisation

Les principales orientations d’optimisation de la stratégie sont les tests de l’AMB elle-même et des paramètres combinés.

  1. Réglage du cycle: tester différents cycles BMA rapides et cycles BMA lents pour trouver la combinaison optimale de paramètres. Généralement, les cycles rapides sont compris entre 10 et 30 et les cycles lents entre 20 et 60.

  2. Les poids BMA: on peut tester différentes distributions de poids, soit la moitié du facteur binaire de la partie entière, soit une préférence pour les lignes K les plus récentes. Cela peut améliorer encore la fluidité du BMA.

  3. Conditions de filtrage: vous pouvez définir des conditions de filtrage telles que la rupture des prix, l’augmentation du volume des transactions, pour éviter des signaux déraisonnables.

  4. Les mécanismes d’arrêt des pertes et la gestion des positions peuvent également être testés pour contrôler les risques.

Résumer

Cette stratégie propose pour la première fois un indicateur unique, la moyenne mobile binaire, qui améliore la façon dont les moyennes mobiles sont calculées, ce qui améliore à la fois l’utilité et la stabilité de la stratégie. La croisée des BMA rapides et des BMA lents génère un signal de négociation simple et efficace.

Code source de la stratégie
/*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)