
Aperçu
Cette stratégie est un système de trading quantitatif basé sur l’analyse technique du graphique en chandeliers, qui identifie principalement les opportunités de trading potentielles en analysant la longueur totale des ombres supérieures et inférieures des chandeliers. Le cœur de la stratégie consiste à comparer la longueur totale des ombres calculées en temps réel avec la moyenne mobile ajustée en fonction du décalage, et à générer un signal long lorsque la longueur de l’ombre dépasse la moyenne mobile. La stratégie intègre plusieurs types de moyennes mobiles, notamment la moyenne mobile simple (SMA), la moyenne mobile exponentielle (EMA), la moyenne mobile pondérée (WMA) et la moyenne mobile pondérée du volume (VWMA), offrant aux traders un espace de sélection de paramètres flexible.
Principe de stratégie
La logique fondamentale de la stratégie comprend les étapes clés suivantes :
- Calculez la longueur des ombres supérieure et inférieure de chaque chandelier : l’ombre supérieure est la différence entre le prix le plus élevé et la plus grande valeur du prix de clôture et le prix d’ouverture, et l’ombre inférieure est la différence entre la plus petite valeur du prix de clôture prix et le prix d’ouverture et le prix le plus bas.
- Calculer la longueur totale de l’ombre : additionner les longueurs des ombres supérieure et inférieure pour obtenir la longueur totale
- Calcule la moyenne mobile de la longueur de l’ombre en fonction du type de moyenne mobile sélectionné par l’utilisateur (SMA/EMA/WMA/VWMA)
- Ajouter un décalage défini par l’utilisateur à la moyenne mobile
- Lorsque la longueur totale de l’ombre en temps réel dépasse la moyenne mobile décalée, un signal long est déclenché
- Fermer automatiquement la position une fois que le temps de maintien atteint la période prédéfinie
Avantages stratégiques
- Sélection raisonnable d’indicateurs techniques : la longueur de l’ombre peut refléter efficacement la volatilité du marché et l’intensité des mouvements de prix, et constitue un indicateur important pour juger des points de retournement de tendance.
- Paramètres flexibles : offrez une variété d’options de moyenne mobile et de paramètres personnalisés pour s’adapter à différents environnements de marché
- Contrôle parfait des risques : adopter une période de détention fixe pour éviter le risque de détention excessive
- Effet de visualisation exceptionnel : utilisez l’histogramme pour afficher la longueur de l’ombre, le graphique linéaire pour afficher la moyenne mobile, affichez intuitivement les signaux de trading
- Logique de calcul claire : structure de code concise, facile à comprendre et à maintenir
Risque stratégique
- Dépendance à l’environnement de marché : dans un environnement de faible volatilité, le signal de longueur d’ombre peut ne pas être suffisamment évident, ce qui affecte l’efficacité de la stratégie
- Sensibilité des paramètres : La sélection de paramètres tels que la période de moyenne mobile et le décalage a un impact important sur la performance de la stratégie.
- Risque de fausse cassure : Il peut y avoir une cassure à court terme de la longueur de l’ombre, mais une baisse rapide, entraînant un faux signal
- Limitations des périodes de détention fixes : Le fait de ne pas ajuster de manière dynamique les périodes de détention en fonction des conditions du marché peut entraîner une perte de rendements plus importants
- Trading unidirectionnel : ne prend en charge que les transactions à long terme, aucun profit en cas de baisse du marché
Orientation de l’optimisation de la stratégie
- Présentation du filtrage de volatilité : combinez les indicateurs de volatilité ATR ou historiques pour ouvrir des transactions dans un environnement de volatilité approprié
- Ajouter un filtre de tendance : Combinez-le avec une moyenne mobile à long terme ou un indicateur de tendance pour trader dans la direction de la tendance principale
- Optimiser la gestion des positions : introduire un mécanisme dynamique de stop-profit et de stop-loss et ajuster le temps de position en fonction de la volatilité du marché
- Ajouter une fonction de vente à découvert : ajouter des transactions de vente à découvert dans des conditions appropriées pour augmenter la source de revenus de la stratégie
- Filtrage du signal amélioré : prise en compte d’indicateurs multidimensionnels tels que le volume des transactions et le sentiment du marché pour améliorer la qualité du signal
Résumer
Cette stratégie analyse l’indicateur technique classique de la longueur de l’ombre de la bougie et le combine avec des méthodes de trading quantitatives modernes pour créer un système de trading avec une logique claire et une forte praticité. Les principaux avantages de la stratégie résident dans sa flexibilité paramétrique et son contrôle total des risques, mais elle présente également des limites telles qu’une forte dépendance à l’environnement du marché et la sensibilité des paramètres. En introduisant des indicateurs multidimensionnels et en optimisant la gestion des positions, la stratégie a encore beaucoup de marge de progression. Dans l’ensemble, il s’agit d’une stratégie de trading quantitative avec une base solide et une logique raisonnable, qui se prête à un développement et une optimisation ultérieurs.
Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Daytrading ES Wick Length Strategy", overlay=true)
// Input parameters
ma_length = input.int(20, title="Moving Average Length", minval=1)
ma_type = input.string("VWMA", title="Type of Moving Average", options=["SMA", "EMA", "WMA", "VWMA"])
ma_offset = input.float(10, title="MA Offset (Points)", step=1)
hold_periods = input.int(18, title="Holding Period (Bars)", minval=1)
// Calculating upper and lower wick lengths
upper_wick_length = high - math.max(close, open)
lower_wick_length = math.min(close, open) - low
// Total wick length (upper + lower)
total_wick_length = upper_wick_length + lower_wick_length
// Calculate the moving average based on the selected method
ma = switch ma_type
"SMA" => ta.sma(total_wick_length, ma_length)
"EMA" => ta.ema(total_wick_length, ma_length)
"WMA" => ta.wma(total_wick_length, ma_length)
"VWMA" => ta.vwma(total_wick_length, ma_length)
// Add the offset to the moving average
ma_with_offset = ma + ma_offset
// Entry condition: wick length exceeds MA with offset
long_entry_condition = total_wick_length > ma_with_offset
// Long entry
if (long_entry_condition)
strategy.entry("Long", strategy.long)
// Automatic exit after holding period
if strategy.position_size > 0 and bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) >= hold_periods
strategy.close("Long")
// Plot the total wick length as a histogram
plot(total_wick_length, color=color.blue, style=plot.style_histogram, linewidth=2, title="Total Wick Length")
// Plot the moving average with offset
plot(ma_with_offset, color=color.yellow, linewidth=2, title="MA of Wick Length (Offset)")