Stratégie de moyenne mobile Double HULL


Date de création: 2023-09-15 16:39:48 Dernière modification: 2023-09-15 16:43:45
Copier: 0 Nombre de clics: 1525
1
Suivre
1617
Abonnés

Principe de la stratégie :

La stratégie des doubles moyennes mobiles HULL est une stratégie de négociation basée sur l’indicateur des moyennes mobiles HULL créé par Alan HULL. La stratégie utilise deux moyennes mobiles HULL, une ligne longue et une ligne courte, pour juger du moment où acheter et vendre.

La formule de calcul de la moyenne mobile HULL est la suivante:

HmaL = wma(2*wma(close, round(PDL/2)) - wma(close, PDL), round(sqrt(PDL)))
HmaS = wma(2*wma(close, round(PDS/2)) - wma(close, PDS), round(sqrt(PDS)))

Le PDL représente les périodes longues et le PDS les périodes courtes. La stratégie juge les conditions d’achat et de vente en comparant les valeurs des lignes courtes et longues.

Analyse des avantages:

  1. Moins de retard: Les moyennes mobiles HULL ont moins de retard par rapport aux moyennes mobiles traditionnelles et sont capables de réagir plus rapidement aux changements de tendance des prix et de fournir des signaux d’achat et de vente plus précis.
  2. Simple et compréhensible: La stratégie utilise deux moyennes mobiles pour le jugement croisé, la logique est relativement simple, facile à comprendre et à mettre en œuvre.
  3. Haute personnalisation: les paramètres cycliques de la stratégie peuvent être ajustés en fonction des marchés et des types de transactions spécifiques, ce qui rend la stratégie plus adaptée aux différents environnements de négociation.

Analyse des risques:

  1. Vibrations du marché: les moyennes mobiles peuvent se croiser fréquemment, ce qui entraîne de fréquents signaux d’achat et de vente, ce qui est susceptible de générer des signaux erronés, ce qui entraîne des transactions fréquentes et des pertes.
  2. Points de glissement et de retard: l’exécution de la stratégie est affectée par les points de glissement et les délais, en particulier dans les transactions à haute fréquence, ce qui peut entraîner un désaccord entre le prix d’exécution et le prix attendu, affectant les résultats des transactions.
  3. La stratégie s’appuie uniquement sur les moyennes mobiles HULL, sans combinaison avec d’autres indicateurs techniques ou des informations de marché, et peut ne pas être en mesure de saisir pleinement les changements et les tendances du marché.

Résumé:

La stratégie des moyennes mobiles HULL doubles est une stratégie de négociation basée sur les moyennes mobiles HULL pour juger du moment d’achat et de vente en comparant les points de jonction des lignes courtes et longues. La stratégie présente les avantages de la réduction du retard, de la simplicité et de la personnalisation, mais elle présente également les risques de choc, de glissement et de retard du marché et de dépendance à un seul indicateur.

Code source de la stratégie
/*backtest
start: 2023-09-07 00:00:00
end: 2023-09-14 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Credit Indicator from KIVANC
// author and idea: KIVANC @fr3762 on twitter
// creator: Alan HULL
// 
strategy("Double HULL Moving Average Strategy", overlay=true)
PDL=input(title="LongerPeriod", defval=21, minval=1,maxval=500)
PDS=input(title="ShorterPeriod",  defval=8, minval=1,maxval=500)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2019, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"

HmaL=wma(2*wma(close,round(PDL/2))-wma(close,PDL),round(sqrt(PDL)))
HmaS=wma(2*wma(close,round(PDS/2))-wma(close,PDS),round(sqrt(PDS)))
plot(HmaL,color=red, linewidth=2)
plot(HmaS,color=blue, linewidth=2)

Buy = HmaS > HmaL
Sell = HmaS < HmaL

strategy.entry("Buy",true,when=window() and Buy)
strategy.close_all(when=window() and Sell)