Les ressources ont été chargées... Je charge...

Évasion dynamique de la boîte Darvas avec système de négociation de confirmation de tendance moyenne mobile

Auteur:ChaoZhang est là., Date: 2024-11-18 à 16h53
Les étiquettes:Le MA25SMA

img

Résumé

Cette stratégie identifie les zones de consolidation des prix par la formation de boîtes et confirme les tendances avec des moyennes mobiles pour capturer les forts mouvements du marché pendant les ruptures.

Principes de stratégie

La stratégie est composée de trois éléments essentiels:

  1. Construction de la boîte Darvas: Le système détermine les limites de la boîte en calculant les prix les plus élevés et les plus bas sur 5 périodes.
  2. Confirmation de la tendance de la moyenne mobile: une moyenne mobile simple sur 25 périodes est introduite comme filtre de tendance, ne prenant en compte que les positions lorsque le prix est supérieur à MA25.
  3. Génération de signaux commerciaux
    • Signal d'achat: le prix dépasse le sommet de la case et est supérieur au MA25
    • Signal de vente: les prix dépassent le bas de la case

Les avantages de la stratégie

  1. Une forte tendance à la suite de la capacité:
    • Capture l'initiation de la tendance par le biais de ruptures de case
    • Le filtrage MA25 assure la négociation dans la direction de la tendance principale
  2. Optimisation de la qualité du signal:
    • Le mécanisme de double confirmation réduit le risque de fausse rupture
    • Des conditions d'entrée et de sortie claires évitent le jugement subjectif
  3. Contrôle complet des risques:
    • Le fond de la boîte forme naturellement le niveau de stop-loss
    • MA25 fournit une protection de tendance supplémentaire

Risques stratégiques

  1. Risque de choc du marché:
    • Des ruptures fréquentes peuvent entraîner des arrêts consécutifs
    • Recommandé pour une utilisation sur des marchés à forte tendance
  2. Risque de retard:
    • La formation de la boîte prend du temps, peut manquer les premiers mouvements
    • Le MA25 en tant que moyenne à moyen terme présente un retard inhérent
  3. Risque lié à la gestion de l'argent
    • Requiert une bonne répartition des capitaux par métier
    • Suggestion d'ajuster dynamiquement la taille de la position en fonction de la volatilité

Directions d'optimisation de la stratégie

  1. Optimisation des paramètres:
    • Période de cadence réglable en fonction des caractéristiques du marché
    • La période d'autorisation peut être adaptée aux caractéristiques du cycle du marché
  2. Amélioration du signal:
    • Peut ajouter un mécanisme de confirmation de volume
    • Envisager de mettre en œuvre un stop-loss dynamique
  3. Amélioration du contrôle des risques:
    • Ajouter un filtre de volatilité
    • Mettre en œuvre la dimensionnement dynamique de la position

Résumé

La stratégie construit un système de trading robuste en combinant la théorie classique de Darvas Box avec la tendance à la moyenne mobile. Son principal avantage réside dans la capture efficace des marchés tendance tout en contrôlant le risque grâce à plusieurs mécanismes de filtrage. Bien qu'il y ait un certain retard inhérent, la stratégie peut atteindre des performances stables sur les marchés tendance grâce à une optimisation et une gestion des risques appropriés.


/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DARVAS BOX with MA25 Buy Condition", overlay=true, shorttitle="AEG DARVAS")

// Input for box length
boxp = input.int(5, "BOX LENGTH")

// Calculate 25-period moving average
ma25 = ta.sma(close, 25)

// Lowest low and highest high within the box period
LL = ta.lowest(low, boxp)
k1 = ta.highest(high, boxp)
k2 = ta.highest(high, boxp - 1)
k3 = ta.highest(high, boxp - 2)

// New high detection
NH = ta.valuewhen(high > k1[1], high, 0)

// Logic to detect top and bottom of Darvas Box
box1 = k3 < k2
TopBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, NH, 0)
BottomBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, LL, 0)

// Plot the top and bottom Darvas Box lines
plot(TopBox, linewidth=3, color=color.green, title="Top Box")
plot(BottomBox, linewidth=3, color=color.red, title="Bottom Box")
plot(ma25, color=#2195f31e, linewidth=2, title="ma25")

// --- Buy and Sell conditions ---

// Buy when price breaks above the Darvas Box AND MA15
buyCondition = ta.crossover(close, TopBox) and close > ma25

// Sell when price drops below the Darvas Box
sellCondition = ta.crossunder(close, BottomBox)

// --- Buy and Sell Signals ---

// Plot BUY+ and SELL labels
plotshape(series=buyCondition, title="Buy+ Signal", location=location.abovebar, color=#72d174d3, style=shape.labeldown, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.belowbar, color=color.rgb(234, 62, 62, 28), style=shape.labelup, text="SELL")

// --- Strategy execution ---

if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.close("Buy")


Relationnée

Plus de