
Cette stratégie est un système de trading intégré qui combine plusieurs outils d’analyse technique. Elle utilise des indices de croisement des moyennes mobiles (EMA), des indices de faiblesse aléatoires (RSI stochastique), des relations de prix croisées et des graphiques de pioche pour générer des signaux de trading. Le cœur de la stratégie est d’améliorer la précision et la fiabilité des décisions de négociation en analysant la dynamique du marché en plusieurs dimensions.
Les principaux éléments de la stratégie sont les suivants:
En intégrant ces éléments, la stratégie vise à capturer les points de basculement des tendances du marché, tout en gérant le risque en mettant en place des mécanismes de stop-loss et de profit-closure.
Système croisé EMA:
Le calcul de la tendance des prix des lots:
RSI aléatoire:
Le Bleu et l’Ours se détournent des tests:
La reconnaissance des formes de dévoration:
Logique de transaction :
L’analyse multidimensionnelle, combinée aux indicateurs techniques, à l’analyse des volumes de transactions et à la cartographie, fournit une vision plus complète du marché.
Suivi de la tendance et alerte de revers: le système de croisement EMA aide à capturer les principales tendances, tandis que le détournement de la détection et de l’absorption de la forme avertit d’un revers potentiel.
Gestion des risques: dynamique de stop-loss et de profit grâce à des réglages de type engloutissement, qui aident à contrôler les risques et à bloquer les bénéfices.
Flexibilité: la stratégie peut s’adapter à différentes conditions du marché, permettant de profiter d’un marché en tendance tout en saisissant les occasions de revirement dans un marché en turbulence.
Automatisation: les stratégies peuvent être programmées pour réduire les interférences émotionnelles humaines et améliorer l’efficacité de l’exécution.
Objectivité: réduire les biais de jugement subjectifs sur la base d’indicateurs techniques et de modèles graphiques bien définis.
Surtrades: dans un marché en crise, les croisements fréquents d’EMA peuvent entraîner des surtrades et augmenter les coûts de transaction.
L’arriération: Les indicateurs tels que les EMA et le RSI sont essentiellement des indicateurs en retard qui peuvent manquer des virages importants dans un marché en évolution rapide.
Fausse brèche: Pendant la phase de tri horizontal, il peut y avoir une brèche de courte durée, ce qui entraîne un signal erroné.
Sensitivité des paramètres: l’efficacité de la stratégie dépend fortement des paramètres tels que les cycles EMA, les paramètres RSI, etc. Les différents marchés peuvent nécessiter des optimisations différentes.
La dépendance au contexte du marché: la performance dans les marchés à forte tendance peut être supérieure à celle des marchés en chute libre, en tenant compte des cycles du marché.
Conflit de signaux: les différents indicateurs peuvent générer des signaux contradictoires et il est nécessaire d’établir des règles de priorité claires.
Modification des paramètres dynamiques:
Pour ajouter à l’indicateur de l’humeur du marché:
Mécanisme de stop loss optimisé :
L’analyse des délais:
Les données de base sont intégrées:
L’optimisation de l’apprentissage machine:
Cette stratégie de “cross-line, indices relativement forts, tendances de prix en circulation et formes d’absorption” est un système de négociation complet et complexe, combinant plusieurs outils d’analyse technique et techniques de gestion des risques. En intégrant les croisements EMA, le RSI aléatoire, l’analyse des relations de prix en circulation et l’identification des formes graphiques, la stratégie vise à fournir un cadre d’analyse de marché complet.
Les principaux avantages de la stratégie résident dans ses capacités d’analyse multidimensionnelle et son mécanisme de gestion du risque flexible. En combinant le suivi des tendances et le système d’alerte au renversement, il est capable de rechercher des opportunités de négociation dans différents environnements de marché.
Cependant, cette stratégie est également confrontée à des risques potentiels, tels que l’excès de trading, la sensibilité des paramètres et la dépendance des conditions du marché. Afin de relever ces défis, nous avons proposé plusieurs orientations d’optimisation, notamment l’ajustement des paramètres dynamiques, l’introduction d’indicateurs de l’humeur du marché, l’optimisation des mécanismes de stop-loss, l’analyse multi-temporelle, l’intégration des données fondamentales et l’application de technologies d’apprentissage automatique.
Dans l’ensemble, il s’agit d’une stratégie de trading complexe et complète, dotée d’une forte adaptabilité et d’un fort potentiel. Grâce à une optimisation et une rétroaction continues, il est susceptible de devenir un outil de trading puissant. Cependant, les utilisateurs doivent bien comprendre les principes et les limites de la stratégie et l’appliquer avec prudence dans les transactions réelles.
/*backtest
start: 2023-07-23 00:00:00
end: 2024-07-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Combined Strategy with Custom Signals and Reversal Patterns", overlay=true)
// Extract data
dataClose = close
dataVolume = volume
dataHigh = high
dataLow = low
// Calculate Volume-Price Relation
volume_price_trend = dataVolume / dataClose
// Calculate Stochastic RSI
stoch_rsi = ta.stoch(dataClose, dataClose, dataClose, 14)
// Calculate EMA
ema_12 = ta.ema(dataClose, 8)
ema_26 = ta.ema(dataClose, 20)
// Bullish Divergence
bullish_divergence = ((ta.lowest(dataLow, 6) < ta.lowest(dataLow, 7)) and (volume_price_trend > ta.lowest(volume_price_trend, 6)))
// Bearish Divergence
bearish_divergence = ((ta.highest(dataHigh, 6) > ta.highest(dataHigh, 7)) and (volume_price_trend < ta.highest(volume_price_trend, 6)))
// Check for buy signals
buy_signal = (bullish_divergence or ((ema_12 > ema_26) and (ema_12[1] <= ema_26[1]))) // Previous crossover point
// Check for sell signals
sell_signal = (bearish_divergence or ((ema_12 < ema_26) and (ema_12[1] >= ema_26[1]))) // Previous crossover point
// Plot custom signals
plotshape(buy_signal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sell_signal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")
// Optional: Add alerts for buy and sell signals
alertcondition(buy_signal, title="Buy Signal Alert", message="Buy signal detected!")
alertcondition(sell_signal, title="Sell Signal Alert", message="Sell signal detected!")
// Define patterns for Reversal Candlestick Patterns
isBullishEngulfing() =>
bullishEngulfing = close > open and close[1] < open[1] and close > open[1] and open < close[1]
bullishEngulfing
isBearishEngulfing() =>
bearishEngulfing = close < open and close[1] > open[1] and close < open[1] and open > close[1]
bearishEngulfing
// Calculate patterns
bullishEngulfing = isBullishEngulfing()
bearishEngulfing = isBearishEngulfing()
// Plot reversal signals
plotshape(bullishEngulfing, title="Bullish Engulfing", location=location.belowbar, color=color.green, style=shape.labelup, text="Bull Eng")
plotshape(bearishEngulfing, title="Bearish Engulfing", location=location.abovebar, color=color.red, style=shape.labeldown, text="Bear Eng")
// Variables to count occurrences of engulfing patterns
var int bullishEngulfingCount = 0
var int bearishEngulfingCount = 0
// Strategy logic for combined signals and patterns
if (buy_signal)
strategy.entry("Long", strategy.long)
if (sell_signal)
strategy.entry("Short", strategy.short)
// Logic to increment the engulfing pattern counts
if (bullishEngulfing)
bullishEngulfingCount += 1
else if (not bullishEngulfing)
bullishEngulfingCount := 0
if (bearishEngulfing)
bearishEngulfingCount += 1
else if (not bearishEngulfing)
bearishEngulfingCount := 0
// Exit conditions based on engulfing patterns
if (bearishEngulfing and strategy.position_size > 0)
strategy.close("Long")
if (bullishEngulfing and strategy.position_size < 0)
strategy.close("Short")
// Exit conditions for the second occurrence of engulfing patterns for taking profit
if (bullishEngulfingCount == 2 and strategy.position_size < 0)
strategy.close("Short")
if (bearishEngulfingCount == 2 and strategy.position_size > 0)
strategy.close("Long")