Stratégie de cassure de la moyenne mobile


Date de création: 2023-09-26 16:18:37 Dernière modification: 2023-09-26 16:18:37
Copier: 0 Nombre de clics: 884
1
Suivre
1617
Abonnés

Aperçu

La stratégie de rupture de la ligne moyenne est une stratégie de négociation de courte ligne qui utilise la moyenne mobile pour juger. La stratégie consiste à régler la longueur de la ligne moyenne et à effectuer des opérations d’achat et de vente lorsque la ligne moyenne est brisée.

Principe de stratégie

La stratégie consiste principalement à définir deux moyennes mobiles, la ligne rapide et la ligne lente, pour juger de l’évolution des prix. La ligne rapide a une courte période de réaction; la ligne lente a une longue période de réaction.

Le code définit les périodes de ligne rapide shortPeriod et de ligne lente longPeriod en définissant les paramètres d’entrée. Ensuite, on calcule les valeurs des deux linéages shortSMA et longSMA.

Lorsque la courte moyenne périodique franchit la moyenne à long terme par une descente vers le haut, cela indique que le mouvement des prix a été inversé par une descente vers le bas, faisant plus; lorsque la courte moyenne périodique franchit la moyenne à long terme par une descente vers le haut, cela indique que le mouvement des prix a été inversé par une descente vers le bas, faisant plus.

Les conditions pour accéder à une position multiple:

快线由下向上突破慢线
快线>慢线

Pour accéder à la position en cours de négociation:

快线由上向下跌破慢线  
快线<慢线

En outre, la stratégie définit des paramètres tels que le stop-loss, le stop-loss et le montant pour contrôler le risque.

Avantages stratégiques

  • Simple à utiliser, facile à maîtriser et adapté aux débutants
  • Le fil moyen possède une certaine capacité de filtrage de tendance, permettant de filtrer une partie du bruit
  • Flexible pour ajuster la périodicité de l’équilibre pour s’adapter à des cycles différents
  • Il est possible de pré-configurer le point d’arrêt de perte pour contrôler le risque.

Risque stratégique

  • Faible risque de fausse percée, générant de faux signaux
  • Ne convient pas aux marchés très volatiles et doit être utilisé lorsque la tendance est évidente.
  • Le système de ligne moyenne est en retard, l’heure d’arrivée est incorrecte
  • Une reprise de tendance qui ne peut pas être filtrée efficacement

La prévention des risques:

  • Filtrez en combinaison avec d’autres indicateurs pour éviter les faux signaux
  • Choisissez de l’utiliser lorsque la tendance est évidente, pas dans un marché en crise
  • Ajustement approprié des paramètres de la moyenne pour optimiser le temps d’entrée
  • Laissez une marge de manœuvre suffisante pour éviter d’être piégé

Orientation de l’optimisation de la stratégie

  • Optimiser les paramètres du système homogène pour trouver la combinaison optimale de périodes
  • Ajouter d’autres critères de jugement comme le canal BOLL, le KD, etc.
  • Optimiser les stratégies de gestion des positions pour maximiser les bénéfices
  • Test de la robustesse des paramètres de différents types de contrats
  • Augmenter les algorithmes d’apprentissage automatique pour optimiser le Big Data

Résumer

Le concept de la stratégie de rupture de la ligne moyenne est simple, il est facile à utiliser. Cependant, il existe des problèmes, tels que la fausse rupture, le retard, etc. Il peut être amélioré par l’optimisation des paramètres et la combinaison d’autres indicateurs.

Code source de la stratégie
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 1h
basePeriod: 15m
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/
// © YohanNaftali

//@version=5

///////////////////////////////////////////////////////////////////////////////
// Heikin Ashi Candle Startegy
// ver 2021.12.29
// © YohanNaftali
// This script composed by Yohan Naftali for educational purpose only 
// Reader who will use this signal must do own research
///////////////////////////////////////////////////////////////////////////////
strategy(
     title = 'Heikin Ashi Candle Startegy Long',  
     shorttitle = 'HA Strategy Long',  
     format = format.price,
     precision = 0,
     overlay = true)

// Input
validationPeriod = input.int( 
     defval = 3, 
     title = 'Validation Period', 
     group = 'Candle')

qtyOrder = input.float(
     defval = 1.0,
     title = 'Qty', 
     group = 'Order')

maxActive = input.float(
     defval = 1.0,
     title = 'Maximum Active Open Position', 
     group = 'Order')

// Long Strategy
tpLong = input.float(
     defval = 1,
     title = "Take Profit (%)",
     minval = 0.0, 
     step = 0.1, 
     group = "Long") * 0.01

slLong = input.float(
     defval = 25,
     title = "Stop Loss (%)", 
     minval=0.0, 
     step=0.1,
     group="Long") * 0.01

trailingStopLong = input.float(
     defval = 0.2,
     title = "Trailing Stop (%)",
     minval = 0.0, 
     step = 0.1,
     group = 'Long') * 0.01

// Calculation
haTicker = ticker.heikinashi(syminfo.tickerid)
haClose = request.security(haTicker, timeframe.period, close)
haOpen = request.security(haTicker, timeframe.period, open)

// Long
limitLong = tpLong > 0.0 ? strategy.position_avg_price * (1 + tpLong) : na
stopLong = slLong > 0.0 ? strategy.position_avg_price * (1 - slLong) : na
float trailLong = 0.0
trailLong := if strategy.position_size > 0
    trailClose = close * (1 - trailLong)
    math.max(trailClose, trailLong[1])
else
    0

isGreen = true
for i = 0 to validationPeriod-1
    isGreen := isGreen and haClose[i] > haOpen[i]        
isLong = isGreen and haClose[validationPeriod] < haOpen[validationPeriod]



plot(
     limitLong,
     title = 'Limit', 
     color = color.rgb(0, 0, 255, 0), 
     style = plot.style_stepline,
     linewidth = 1)

plot(
     trailLong,
     title = 'Trailing', 
     color = color.rgb(255, 255, 0, 0), 
     style = plot.style_stepline,
     linewidth = 1)

plot(
     stopLong,
     title = 'Stop', 
     style = plot.style_stepline,
     color = color.rgb(255, 0, 0, 0), 
     linewidth = 1)

// plotshape(
//      isLong, 
//      title = 'Entry', 
//      style = shape.arrowup, 
//      location = location.belowbar, 
//      offset = 1, 
//      color = color.new(color.green, 0), 
//      text = 'Long Entry',
//      size = size.small)

// Strategy
strategy.risk.max_position_size(maxActive)
strategy.risk.allow_entry_in(strategy.direction.long)

strategy.entry(
     id = "Long", 
     direction = strategy.long, 
     qty = qtyOrder,  
     when = isLong,       
     alert_message = "LN")
if (strategy.position_size > 0)
    strategy.exit(
         id = "Long Exit",
         from_entry = "Long",
         limit = limitLong,
         stop = stopLong,
         trail_price = trailLong,
         alert_message = "LX")