
Cette stratégie utilise principalement les prix les plus élevés, les plus bas et les prix de clôture de la journée précédente comme support et résistance du jour, en faisant plus lors de la rupture de la résistance et en faisant moins lors de la reprise du support.
Le code définit d’abord une fonction de calcul de la résistance au support, calculateSupportResistance, qui extrait le prix le plus élevé, le prix le plus bas et le prix de clôture du jour de négociation précédent comme résistance au support du jour.
Cette fonction est ensuite appelée dans la logique principale pour obtenir les trois bits de prix et les afficher.
Dans la logique de retracement, si le prix de clôture est inférieur au prix le plus bas de la veille et que le prix actuel est supérieur à ce prix le plus bas, il y a une rupture; si le prix de clôture est supérieur au prix le plus élevé de la veille et que le prix actuel est inférieur à ce prix le plus élevé, il y a une rupture.
Ces modèles révolutionnaires permettent de juger les tendances et de générer des signaux de trading.
La réponse:
Cette stratégie est une stratégie de rupture typique, simple et intuitive, qui utilise les données du jour de négociation précédent pour construire la résistance de soutien du jour et retracer la rupture. L’avantage est qu’il est facile à comprendre et à voir directement la résistance de soutien. L’inconvénient est qu’il existe un risque de fausse rupture et qu’il est impossible de déterminer la continuité de la tendance.
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Support and Resistance with Backtesting", overlay=true)
// Function to calculate support and resistance levels
calculateSupportResistance() =>
highPrevDay = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
lowPrevDay = request.security(syminfo.tickerid, "D", low[1], lookahead=barmerge.lookahead_on)
closePrevDay = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on)
[highPrevDay, lowPrevDay, closePrevDay]
// Call the function to get support and resistance levels
[supResHigh, supResLow, supResClose] = calculateSupportResistance()
// Plotting support and resistance levels
plot(supResHigh, color=color.red, linewidth=2, title="Previous Day High")
plot(supResLow, color=color.green, linewidth=2, title="Previous Day Low")
plot(supResClose, color=color.blue, linewidth=2, title="Previous Day Close")
// Backtesting logic
backtestCondition = close[1] < supResLow and close > supResLow
strategy.entry("Long", strategy.long, when=backtestCondition)
// Plotting buy/sell arrows for backtesting
plotarrow(backtestCondition ? 1 : na, colorup=color.green, offset=-1, transp=0)