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

Résultats de l'évaluation de la valeur ajoutée

Auteur:ChaoZhang est là., Date: 2024-12-05 16:53:44 Je suis désolé
Les étiquettes:Indice de résistanceSMAATR

img

Vue d'ensemble de la stratégie

Cette stratégie est un système de trading quantitatif basé sur l'indicateur RSI et les principes de réversion moyenne. Elle identifie les opportunités d'inversion du marché en détectant les conditions de surachat et de survente, combinées à l'analyse de la fourchette de prix et à la position de prix de clôture.

Principes de stratégie

La stratégie utilise plusieurs mécanismes de filtrage pour déterminer les signaux de négociation: premièrement, le prix doit atteindre un plus bas de 10 périodes, indiquant une condition de marché survendue; deuxièmement, la fourchette de prix du jour doit être la plus grande des 10 derniers jours de négociation, suggérant une volatilité accrue du marché; enfin, elle confirme les signaux de renversement potentiels en vérifiant si le prix de clôture est dans le quartile supérieur de la fourchette du jour.

Les avantages de la stratégie

  1. Des conditions de filtrage multiples améliorent la qualité du signal et réduisent les faux signaux
  2. Intégre plusieurs dimensions, y compris les modèles de prix techniques, la volatilité et l'élan
  3. Utilise un mécanisme d'arrêt des pertes de suivi pour une protection efficace des bénéfices
  4. Le mécanisme d'entrée utilise la confirmation de rupture pour éviter une entrée prématurée.
  5. La logique de négociation est claire, facile à comprendre et à mettre en œuvre

Risques stratégiques

  1. Peut déclencher des stop-loss fréquents sur les marchés à forte tendance
  2. Des conditions d'entrée strictes pourraient faire perdre certaines opportunités commerciales
  3. Requiert une fréquence de négociation plus élevée, ce qui peut entraîner des coûts de transaction plus élevés
  4. Peut avoir du mal à trouver des signaux de trading efficaces dans des environnements à faible volatilité
  5. Les paramètres de stop-loss peuvent être trop prudents, ce qui affecte les rendements globaux

Directions d'optimisation de la stratégie

  1. Peut introduire des filtres de tendance pour mettre en pause la négociation dans des environnements à forte tendance
  2. Considérez l'ajout d'indicateurs de volume pour une confirmation supplémentaire
  3. Optimiser les paramètres de stop-loss avec des ajustements dynamiques basés sur la volatilité du marché
  4. Ajouter des limites de temps de maintien de position pour éviter des oscillations prolongées
  5. Considérer la mise en œuvre d'une analyse multi-temporelle pour améliorer la fiabilité du signal

Résumé

Il s'agit d'une stratégie de réversion moyenne bien structurée avec une logique claire. Grâce au filtrage de conditions multiples et à la gestion dynamique des stop-loss, la stratégie capte efficacement les opportunités de rebond survendues du marché tout en contrôlant le risque. Bien qu'elle ait certaines limitations, la performance globale peut être améliorée grâce à une optimisation et à un raffinement raisonnables.


/*backtest
start: 2024-11-04 00:00:00
end: 2024-12-04 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Larry Conners SMTP Strategy", overlay=true, margin_long=100, margin_short=100)

// --- Inputs ---
// Corrected the input type declaration by removing 'type='
tickSize = input.float(0.01, title="Tick Size (e.g., 1/8 for stocks)")

// --- Calculate conditions ---
// 1. Today the market must make a 10-period low
low10 = ta.lowest(low, 10)
is10PeriodLow = low == low10

// 2. Today's range must be the largest of the past 10 bars
rangeToday = high - low
maxRange10 = ta.highest(high - low, 10)
isLargestRange = rangeToday == maxRange10

// 3. Today's close must be in the top 25 percent of today's range
rangePercent = (close - low) / rangeToday
isCloseInTop25 = rangePercent >= 0.75

// Combine all buy conditions
buyCondition = is10PeriodLow and isLargestRange and isCloseInTop25

// --- Buy Entry (on the next day) ---
var float buyPrice = na
var bool orderPending = false
var float stopLoss = na  // Initialize stopLoss at the top level to avoid 'Undeclared identifier' errors

if (buyCondition and strategy.position_size == 0)
    buyPrice := high + tickSize
    stopLoss := low
    orderPending := true

// Condition to place buy order the next day or the day after
if orderPending and ta.barssince(buyCondition) <= 2
    strategy.entry("Buy", strategy.long, stop=buyPrice)
    orderPending := false

// --- Stop-Loss and Trailing Stop ---
if (strategy.position_size > 0)
    stopLoss := math.max(stopLoss, low) // Move stop to higher lows (manual trailing)
    strategy.exit("Exit", from_entry="Buy", stop=stopLoss)

// --- Plotting ---
// Highlight buy conditions
bgcolor(buyCondition ? color.new(color.green, 50) : na)
//plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy Setup")

// Plot Stop-Loss level for visualization
//plot(strategy.position_size > 0 ? stopLoss : na, color=color.red, linewidth=2, title="Stop-Loss Level")

Relationnée

Plus de