Stratégie de trading quantitatif pour la percée dynamique de la ligne de tendance du coin descendant

Pivot SL TP Trend
Date de création: 2025-02-21 13:12:56 Dernière modification: 2025-07-15 09:58:16
Copier: 1 Nombre de clics: 411
2
Suivre
319
Abonnés

Stratégie de trading quantitatif pour la percée dynamique de la ligne de tendance du coin descendant Stratégie de trading quantitatif pour la percée dynamique de la ligne de tendance du coin descendant

Aperçu

La stratégie est un système de trading de rupture de tendance basé sur la déformation de la courbe de baisse dans l’analyse technique. Il construit des lignes de tendance à la hausse et à la baisse en identifiant dynamiquement les hauts et les bas des prix et en entrant dans des positions à plusieurs têtes lorsque les prix franchissent les lignes de tendance. La stratégie utilise un mécanisme de stop-loss dynamique pour contrôler les risques et bloquer les bénéfices.

Principe de stratégie

La logique centrale de la stratégie comprend les étapes clés suivantes:

  1. Identifier dynamiquement les hauts et les bas des mouvements de prix en utilisant la méthode pivot
  2. Enregistre et conserve les deux hauts et les bas les plus récents et leur indice temporel correspondant
  3. Le calcul de la pente de la ligne de tendance haussière basé sur ces points
  4. Déterminer si une courbe descendante est formée: deux décroissances des hauts et deux décroissances des bas, avec une pente de la ligne de tendance supérieure inférieure à la pente de la ligne de tendance inférieure
  5. Un signal d’achat est déclenché lorsque le prix franchit la ligne de tendance supérieure
  6. Définition d’un stop-loss sur la base du pourcentage du prix d’entrée

Avantages stratégiques

  1. Identification dynamique de la structure du marché: la stratégie permet d’identifier automatiquement les points clés de la structure des prix sans intervention humaine
  2. Capture d’un renversement de tendance: c’est la capture d’une opportunité potentielle de renversement d’une tendance à la baisse, généralement une opportunité de négociation à plus haut risque-rendement.
  3. Génération de signaux précis: calcul de la position de la ligne de tendance et du point de rupture avec précision par des méthodes mathématiques
  4. Gestion des risques: avec un système de stop-loss prédéfini, les risques de chaque transaction sont efficacement contrôlés
  5. Opération systématique: logique stratégique complètement systématique, évitant les interférences émotionnelles

Risque stratégique

  1. Risque de fausse percée: le marché risque de faire une fausse percée et de donner de faux signaux
  2. Sensibilité des paramètres : l’effet de la stratégie est sensible aux paramètres définis, et différents environnements de marché peuvent nécessiter un ajustement des paramètres.
  3. Dépendance aux conditions du marché: la stratégie peut générer des signaux erronés en cas de turbulences
  4. Risque d’arrêt: les mouvements rapides peuvent entraîner un glissement des prix de l’arrêt réel
  5. Effets sur les coûts des transactions: les transactions fréquentes peuvent entraîner des coûts de transaction plus élevés

Orientation de l’optimisation de la stratégie

  1. Mécanisme de confirmation du signal: des indicateurs tels que le nombre de passages, la puissance peuvent être ajoutés comme confirmation de la percée
  2. Optimisation des paramètres dynamiques: introduction d’un mécanisme d’adaptation permettant d’ajuster les paramètres en fonction des fluctuations du marché
  3. Vérification à plusieurs périodes: ajout d’un mécanisme de confirmation à plusieurs périodes pour améliorer la fiabilité du signal
  4. Amélioration de l’arrêt de freinage: l’arrêt de freinage dynamique peut être utilisé, comme le suivi de freinage
  5. Filtre d’environnement de marché: ajouter un filtre de tendance pour négocier dans un environnement de marché approprié

Résumer

Il s’agit d’une stratégie de trading de tendance logiquement conçue, qui met en œuvre les méthodes traditionnelles d’analyse technique de manière programmée. L’avantage de la stratégie réside dans la capacité d’automatiser l’identification de la structure du marché et de capturer les opportunités potentielles de renversement de tendance.

Code source de la stratégie
/*backtest
start: 2025-04-11 00:00:00
end: 2025-07-10 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Binance","currency":"BTC_USDT","balance":200000}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

//@version=6
strategy("Falling Wedge Strategy by Nitin", overlay=true)

// Input parameters
leftBars = input.int(5, "Left Bars for Pivot", minval=1, maxval=20)
rightBars = input.int(5, "Right Bars for Pivot", minval=1, maxval=20)
takeProfitPercent = input.float(6, "Take Profit %", minval=0.1, maxval=100)/100
stopLossPercent = input.float(2, "Stop Loss %", minval=0.1, maxval=100)/100

// Global variables
var float buyPrice = na

// Detect pivot highs and lows
ph = ta.pivothigh(leftBars, rightBars)
pl = ta.pivotlow(leftBars, rightBars)

// Track last two pivot highs
var float[] highs = array.new_float()
var int[] highIndices = array.new_int()
if not na(ph)
    array.unshift(highs, ph)
    array.unshift(highIndices, bar_index[rightBars])
    if array.size(highs) > 2
        array.pop(highs)
        array.pop(highIndices)

// Track last two pivot lows
var float[] lows = array.new_float()
var int[] lowIndices = array.new_int()
if not na(pl)
    array.unshift(lows, pl)
    array.unshift(lowIndices, bar_index[rightBars])
    if array.size(lows) > 2
        array.pop(lows)
        array.pop(lowIndices)



// Calculate trendlines and detect falling wedge pattern
isFallingWedge = false
var float currentUpper = na
var float currentLower = na

if array.size(highs) >= 2 and array.size(lows) >= 2
    h1 = array.get(highs, 0)
    h2 = array.get(highs, 1)
    i1 = array.get(highIndices, 0)
    i2 = array.get(highIndices, 1)
    
    l1 = array.get(lows, 0)
    l2 = array.get(lows, 1)
    j1 = array.get(lowIndices, 0)
    j2 = array.get(lowIndices, 1)
    
    m_upper = (h1 - h2) / (i1 - i2)
    m_lower = (l1 - l2) / (j1 - j2)
    
    currentUpper := h2 + m_upper * (bar_index - i2)
    currentLower := l2 + m_lower * (bar_index - j2)
    
    // Falling wedge pattern condition
    isFallingWedge := h1 < h2 and l1 < l2 and m_upper < m_lower and m_upper < 0 and m_lower < 0

// Trading strategy execution
if isFallingWedge and ta.crossover(close, currentUpper) and strategy.position_size == 0
    strategy.entry("Buy", strategy.long)
    buyPrice := close
    strategy.exit("Take Profit/Stop Loss", "Buy", stop=buyPrice * (1 - stopLossPercent), limit=buyPrice * (1 + takeProfitPercent))

// Plotting
plot(strategy.position_size > 0 ? buyPrice * (1 - stopLossPercent) : na, "Stop Loss", color=color.red, linewidth=2)
plot(strategy.position_size > 0 ? buyPrice * (1 + takeProfitPercent) : na, "Take Profit", color=color.green, linewidth=2)