
Cette stratégie combine des signaux de croisement de phase avec une moyenne mobile exponentielle sur plusieurs périodes pour capturer les opportunités d’achat et de vente sur le marché en lissant le croisement de l’oscillateur et la tendance EMA. La stratégie utilise le croisement de la phase avancée et de la phase retardée pour générer des signaux de trading et combine des moyennes mobiles exponentielles de 13, 26, 50, 100 et 200 périodes pour confirmer les tendances du marché, offrant une solution complète de suivi des tendances et de trading à court terme.
La logique principale de la stratégie contient deux parties principales : le système de croisement de phase et le système de confirmation de tendance EMA. Le système de croisement de phase utilise une moyenne mobile simple (SMA) avec une polarisation vers le haut comme phase principale et une moyenne mobile exponentielle (EMA) avec une polarisation vers le bas comme phase retardée. Un signal d’achat est généré lorsque la phase avancée croise la phase retardée, et un signal de vente est généré lorsqu’elle la croise en dessous. Le système de confirmation de tendance EMA utilise une moyenne mobile exponentielle sur plusieurs périodes (13/26/50/100/200) pour confirmer la tendance globale du marché, le croisement des EMA sur 13 et 26 périodes servant de signaux de trading secondaires.
Cette stratégie combine un croisement de phase avec un système EMA multi-périodes pour créer un système de trading complet de suivi de tendance. Cette stratégie présente les avantages de signaux clairs, d’une compréhension précise des tendances et d’un contrôle raisonnable des risques, mais elle présente également certains décalages et risques de faux signaux. En ajoutant des mesures d’optimisation telles que le filtrage de la volatilité et la confirmation du volume, la stabilité et la fiabilité de la stratégie peuvent être encore améliorées. Cette stratégie est adaptée aux marchés présentant des tendances évidentes, et les traders doivent ajuster les paramètres en fonction des caractéristiques spécifiques du marché et des préférences de risque personnelles.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Phase Cross Strategy with Zone", overlay=true)
// Inputs
length = input.int(20, title="Smoothing Length")
source = input(close, title="Source")
offset = input.float(0.5, title="Offset Amount", minval=0.0) // Offset for spacing
// Simulating "Phases" with Smoothed Oscillators
lead_phase = ta.sma(source, length) + offset // Leading phase with offset
lag_phase = ta.ema(source, length) - offset // Lagging phase with offset
// Signal Logic
buySignal = ta.crossover(lead_phase, lag_phase)
sellSignal = ta.crossunder(lead_phase, lag_phase)
// Plot Phases (as `plot` objects for `fill`)
lead_plot = plot(lead_phase, color=color.green, title="Leading Phase", linewidth=1)
lag_plot = plot(lag_phase, color=color.red, title="Lagging Phase", linewidth=1)
// Fill Zone Between Phases
fill_color = lead_phase > lag_phase ? color.new(color.green, 90) : color.new(color.red, 90)
fill(plot1=lead_plot, plot2=lag_plot, color=fill_color, title="Phase Zone")
// Plot Buy and Sell Signals
plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), title="Buy Signal", size=size.small)
plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), title="Sell Signal", size=size.small)
// Strategy Entry and Exit
if buySignal
strategy.entry("Buy", strategy.long)
if sellSignal
strategy.close("Buy")
//indicator("EMA 13, 26, 50, 100, and 200 with Crossover, Value Zone, and Special Candles", overlay=true)
// Define the EMAs
ema13 = ta.ema(close, 13)
ema26 = ta.ema(close, 26)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)
// Plot the EMAs
plot(ema13, color=color.blue, linewidth=2, title="EMA 13")
plot(ema26, color=color.red, linewidth=2, title="EMA 26")
plot(ema50, color=color.orange, linewidth=2, title="EMA 50")
plot(ema100, color=color.green, linewidth=2, title="EMA 100")
plot(ema200, color=color.purple, linewidth=2, title="EMA 200")
// Crossover conditions
uptrend = ta.crossover(ema13, ema26) // EMA 13 crosses above EMA 26 (buy)
downtrend = ta.crossunder(ema13, ema26) // EMA 13 crosses below EMA 26 (sell)
// Plot buy/sell arrows
plotshape(series=uptrend, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal")
plotshape(series=downtrend, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")