
La stratégie est un système de trading quantitatif qui combine la théorie des pivots centraux de l’analyse technique et les signaux de croisement des moyennes mobiles. La stratégie capture les opportunités de négociation lorsque les tendances du marché changent en identifiant les points de soutien et de résistance clés du marché, combinés à des signaux de croisement des moyennes mobiles à court et à long terme. Le système utilise les moyennes mobiles à 50 et 200 jours comme indicateur principal pour optimiser les heures d’entrée et de sortie en suivant dynamiquement les pivots centraux.
La logique centrale de la stratégie est basée sur deux composantes principales: l’analyse des pivots et le signal de croisement de la courbe. Le système utilise 5 cycles comme cycle de calcul des pivots pour identifier dynamiquement les hauts et les bas du marché via les fonctions ta.pivothigh et ta.pivotlow. En parallèle, des croisements de moyennes mobiles simples de 50 et 200 jours sont utilisés pour former des croix d’or et des croix de mort.
La stratégie, combinée à des méthodes classiques d’analyse technique, construit un système de trading quantitatif, logiquement rigoureux et contrôlable par les risques. Le principal avantage de la stratégie réside dans l’amélioration de la fiabilité des transactions grâce à la confirmation de signaux multiples, mais il faut également prêter attention aux problèmes d’adaptabilité dans différents environnements de marché.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Pivot Points & Golden Crossover Strategy", overlay=true)
// Inputs
length_short = input.int(50, title="Short Moving Average (Golden Cross)")
length_long = input.int(200, title="Long Moving Average (Golden Cross)")
pivot_length = input.int(5, title="Pivot Point Length")
lookback_pivots = input.int(20, title="Lookback Period for Pivots")
// Moving Averages
short_ma = ta.sma(close, length_short)
long_ma = ta.sma(close, length_long)
// Pivot Points
pivot_high = ta.valuewhen(ta.pivothigh(high, pivot_length, pivot_length), high, 0)
pivot_low = ta.valuewhen(ta.pivotlow(low, pivot_length, pivot_length), low, 0)
// Calculate golden crossover
golden_crossover = ta.crossover(short_ma, long_ma)
death_cross = ta.crossunder(short_ma, long_ma)
// Entry and Exit Conditions
long_entry = golden_crossover and close > pivot_high
short_entry = death_cross and close < pivot_low
// Exit conditions
long_exit = ta.crossunder(short_ma, long_ma)
short_exit = ta.crossover(short_ma, long_ma)
// Plot Moving Averages
plot(short_ma, color=color.blue, title="Short Moving Average")
plot(long_ma, color=color.orange, title="Long Moving Average")
// Plot Pivot Levels
plot(pivot_high, color=color.red, linewidth=1, style=plot.style_circles, title="Pivot High")
plot(pivot_low, color=color.green, linewidth=1, style=plot.style_circles, title="Pivot Low")
// Strategy Execution
if (long_entry)
strategy.entry("Long", strategy.long)
if (long_exit)
strategy.close("Long")
if (short_entry)
strategy.entry("Short", strategy.short)
if (short_exit)
strategy.close("Short")