Stratégie de moyenne mobile double 360°

Auteur:ChaoZhang est là., Date: 2024-02-02 14:29:59
Les étiquettes:

img

Résumé

La stratégie 360° de la moyenne mobile double est une stratégie de trading quantitative qui intègre des moyennes mobiles doubles et la détermination de la force de tendance.

La logique de la stratégie

La logique de base de la stratégie 360° de la moyenne mobile double est la suivante:

  1. Calculer les moyennes mobiles à 1 minute et filtrées Kalman;
  2. Calculer l'angle de tangence sur la base de la différence de prix entre les deux moyennes mobiles;
  3. Accumuler les angles tangents pour déterminer les signaux de force de tendance;
  4. Émettre des signaux de négociation en fonction du fait que les angles tangents cumulés dépassent des seuils prédéfinis.

Plus précisément, la stratégie définit la moyenne mobile brute d'une minute et la moyenne mobile filtrée par Kalman. Le filtre Kalman élimine un peu de bruit de la moyenne mobile pour la rendre plus lisse. L'angle de tangence entre les deux moyennes mobiles reflète les changements de tendance des prix. Par exemple, lorsque l'angle de tangence est positif, il indique une tendance à la hausse; inversement, un angle négatif représente une tendance à la baisse.

La stratégie choisit 30 minutes comme période de calcul pour additionner tous les angles tangents positifs et négatifs dans cette période. Lorsque la somme dépasse 360 degrés, elle signale une tendance extrêmement forte et émet un signal long; inversement, lorsque la somme est inférieure à -360 degrés, elle indique un renversement de tendance et émet un signal court.

Analyse des avantages

Les principaux avantages de la stratégie de la moyenne mobile double 360° sont les suivants:

  1. Les moyennes mobiles filtrent le bruit de marché à court terme pour des décisions de négociation plus fiables;
  2. Les angles tangents quantifient la force de la tendance, évitant ainsi la subjectivité de juger uniquement par des modèles de moyennes mobiles;
  3. L'addition de plusieurs angles tangents a de meilleurs effets de réduction du bruit, ce qui se traduit par des signaux de négociation plus fiables;
  4. Par rapport aux stratégies de moyenne mobile unique, les doubles moyennes mobiles combinées à des déterminations de la force de tendance rendent la stratégie plus complète et plus robuste.

Analyse des risques

La stratégie 360° de la moyenne mobile double comporte également certains risques:

  1. Les moyennes mobiles retardent les variations de prix et peuvent manquer les points tournants de tendance à court terme;
  2. Le fait de s'appuyer uniquement sur le signal de force de tendance accumulé peut être perturbé par la volatilité du marché;
  3. Des paramètres incorrects (tels que la durée de la période de calcul) peuvent entraîner des transactions manquantes ou générer des signaux incorrects.

Pour atténuer les risques susmentionnés, des mesures telles que le raccourcissement de la période de moyenne mobile, l'optimisation des combinaisons de paramètres, l'ajout de mécanismes de stop-loss peuvent être adoptées.

Directions d'optimisation

La stratégie des moyennes mobiles doubles 360° peut être optimisée par:

  1. intégrer des moyennes mobiles adaptatives qui ajustent les paramètres en fonction de la volatilité du marché;
  2. la référence de plusieurs périodes de moyenne mobile pour former des combinaisons de paramètres optimisées;
  3. ajout de modules dynamiques de détermination des tendances basés sur la volatilité, les volumes de négociation, etc.;
  4. Assistance au réglage des paramètres ou aux décisions commerciales avec des modèles d'apprentissage automatique.

Résumé

La stratégie 360° de la moyenne mobile double utilise le filtrage de la moyenne mobile et les jugements quantitatifs de tendance de l'angle tangent pour atteindre une stratégie de trading quantitative relativement robuste.


/*backtest
start: 2024-01-25 00:00:00
end: 2024-01-30 08:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@library=math
strategy("策略360°(测试)", overlay=true)

// 定义1分钟均线
ma1 = request.security(syminfo.tickerid, "1", ta.sma(close, 1)) // 在这里使用了 math.sma() 函数
//plot(ma1, color=color.yellow, title="原始均线")

// 定义卡尔曼滤波函数,参考了[1](https://www.tradingview.com/pine-script-docs/en/v5/language/Methods.html)和[2](https://www.tradingview.com/pine-script-docs/en/v5/language/Operators.html)的代码
kalman(x, g) => 
    kf = 0.0 
    dk = x - nz(kf[1], x) // 在这里使用了 nz() 函数
    smooth = nz(kf[1], x) + dk * math.sqrt(g * 2) // 在这里使用了 math.sqrt() 函数
    velo = 0.0 
    velo := nz(velo[1], 0) + g * dk // 在这里使用了 nz() 函数
    kf := smooth + velo 
    kf 

// 定义卡尔曼滤波后的均线
ma2 = kalman(ma1, 0.01) 
plot(ma2, color=color.blue, title="卡尔曼滤波后的均线")

// 定义切线角
angle = math.todegrees(math.atan(ma2 - ma2[1])) // 在这里使用了 math.degrees() 和 math.atan() 函数

// 定义累加的切线角
cum_angle = 0.0
cum_angle := nz(cum_angle[1], 0) + angle // 在这里使用了 nz() 函数

// 定义30分钟周期
period = 30 // 您可以根据您的需要修改这个参数

// 定义周期内的切线角总和
sum_angle = 0.0
sum_angle := math.sum(angle, period) // 在这里使用了 math.sum() 函数,把周期内的切线角总和改成简单地把 5 个切线角相加

// 定义买入和卖出条件
buy = sum_angle > 360// 在这里使用了 math.radians() 函数
sell = sum_angle < -360

// 执行买入和卖出操作
strategy.entry("Long", strategy.long, when=buy)
strategy.close("Short", when=buy)
strategy.entry("Short", strategy.short, when=sell)
strategy.close("Long", when=sell)

// 绘制曲线图
plot(sum_angle, color=color.green, title="周期内的切线角总和")
plot(angle, color=color.red, title="切线角") // 这是我为您添加的代码,用于显示实时计算的切线角


Plus de