Stratégie de trading automatisée double bottom et double top basée sur les modèles de prix


Date de création: 2024-12-12 17:29:41 Dernière modification: 2024-12-12 17:29:41
Copier: 0 Nombre de clics: 383
1
Suivre
1617
Abonnés

Stratégie de trading automatisée double bottom et double top basée sur les modèles de prix

Aperçu

Il s’agit d’une stratégie de négociation automatisée basée sur l’identification des modèles de prix graphiques. La stratégie prend ses décisions de négociation principalement en identifiant les modèles de prix à deux niveaux dans le marché, en surveillant les mouvements de prix en définissant des périodes de temps spécifiques et en exécutant automatiquement les instructions de négociation lorsque des modèles éligibles apparaissent.

Principe de stratégie

La logique centrale de la stratégie est d’identifier les formes de double bas et de double sommet du marché grâce à des méthodes d’analyse technique. La mise en œuvre comprend les étapes clés suivantes:

  1. Par paramètres de réglage des périodes de surveillance ((100 périodes par défaut) et des périodes de rétroaction ((100 périodes par défaut)
  2. Le prix le plus élevé et le prix le plus bas du cycle calculé à l’aide de la fonction d’analyse technique
  3. Déterminer si une forme double-bas ou double-top a été formée en comparant les prix actuels avec les prix historiques
  4. Une fois la forme confirmée, le système exécute automatiquement les instructions de transaction correspondantes.
  5. La mise en place de conditions de placement basées sur une rupture de prix pour assurer la clôture en temps opportun des pertes ou des bénéfices

Avantages stratégiques

  1. Automatisation élevée: la stratégie permet d’identifier automatiquement les tendances du marché et d’exécuter les transactions, réduisant l’intervention humaine
  2. Une bonne visualisation: des lignes en zigzag permettent d’analyser et de vérifier les tendances du marché
  3. Flexibilité des paramètres: le cycle de surveillance et la période de rétroaction peuvent être ajustés en fonction des différentes conditions du marché
  4. Contrôle des risques: inclure des conditions d’entrée et de sortie claires pour aider à contrôler les risques
  5. Adaptabilité: particulièrement adapté pour fonctionner sur des marchés à courte durée (une minute, trois minutes, cinq minutes)

Risque stratégique

  1. Risque de fausse percée: les marchés peuvent avoir des fausses tendances à la hausse et à la baisse, entraînant de faux signaux de trading
  2. Risque de glissement: une plus grande perte de glissement dans un marché rapide
  3. Paramétricité: les performances de la stratégie dépendent fortement de la rationalité des paramètres définis
  4. Dépendance aux conditions du marché: fonctionne bien dans les marchés en turbulence, mais peut générer de fréquents faux signaux dans les marchés en tendance
  5. Limites techniques: limité par le retard des indicateurs techniques, peut manquer le meilleur moment d’entrée

Orientation de l’optimisation de la stratégie

  1. L’introduction d’indicateurs techniques supplémentaires: des indicateurs tels que le RSI, le MACD peuvent être combinés pour filtrer les faux signaux
  2. Optimiser le choix des paramètres: il est recommandé d’optimiser les paramètres du cycle de surveillance et de la période de rétroaction par rapport aux données de retour
  3. Amélioration des mécanismes de contrôle des vents: augmentation des fonctions d’arrêt dynamique et d’arrêt mobile, amélioration de la capacité de gestion des fonds
  4. Augmentation de l’identification des environnements de marché: ajout de fonctionnalités de reconnaissance de tendances, afin d’ajuster les paramètres de stratégie dans différents environnements de marché
  5. Optimisation de la gestion des volumes: Adaptation du volume des transactions en fonction de la dynamique de la volatilité du marché

Résumer

Il s’agit d’une stratégie de négociation automatisée conçue pour être rationnelle et pratique. En identifiant avec précision les formes bilatérales et bilatérales du marché, combinée à des paramètres flexibles et à un mécanisme de contrôle du vent bien développé, elle permet de saisir efficacement les occasions de retournement de marché à court terme. Bien qu’il existe certains risques, la stratégie est susceptible de devenir un outil de négociation fiable grâce à une optimisation et à une amélioration continues.

Code source de la stratégie
/*backtest
start: 2024-12-04 00:00:00
end: 2024-12-11 00:00:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Double Bottom and Top Hunter", overlay=true)

// Parametreler
length = input.int(100, title="Dönem Uzunluğu", defval=100)
lookback = input.int(100, title="Geriye Dönük Kontrol Süresi", defval=100)

// İkili Dip ve Tepe Bulma
low1 = ta.lowest(low, length)
high1 = ta.highest(high, length)

low2 = ta.valuewhen(low == low1, low, 1)
high2 = ta.valuewhen(high == high1, high, 1)

doubleBottom = (low == low1 and ta.lowest(low, lookback) == low1 and low == low2)
doubleTop = (high == high1 and ta.highest(high, lookback) == high1 and high == high2)

// İşlem Açma Koşulları
longCondition = doubleBottom
shortCondition = doubleTop

// İşlem Kapatma Koşulları
closeLongCondition = ta.highest(high, length) > high1 and low < low1
closeShortCondition = ta.lowest(low, length) < low1 and high > high1

// İşlem Açma
if (longCondition)
    strategy.entry("Long", strategy.long, qty=1)

if (shortCondition)
    strategy.entry("Short", strategy.short, qty=1)

// İşlem Kapatma
if (closeLongCondition)
    strategy.close("Long")

if (closeShortCondition)
    strategy.close("Short")

// Grafik Üzerinde Göstergeler ve ZigZag Çizimi
plotshape(series=longCondition, title="İkili Dip Bulundu", location=location.belowbar, color=color.green, style=shape.labelup, text="LONG")
plotshape(series=shortCondition, title="İkili Tepe Bulundu", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")

// var line zigzagLine = na
// if (doubleBottom or doubleTop)
//     zigzagLine := line.new(x1=bar_index[1], y1=na, x2=bar_index, y2=doubleBottom ? low : high, color=doubleBottom ? color.green : color.red, width=2)

// Zigzag çizgisini sürekli güncelleme
// line.set_xy1(zigzagLine, bar_index[1], na)
// line.set_xy2(zigzagLine, bar_index, doubleBottom ? low : high)