
La stratégie utilise les hauts et les bas de la période dynamique pour générer des signaux de négociation. Elle décide si une transaction doit être effectuée en comparant les prix les plus élevés et les plus bas de la période actuelle avec le prix de clôture de la période précédente, plus ou moins un certain nombre de points. Cette méthode peut s’adapter à différentes tendances et volatilités du marché, ce qui améliore l’adaptabilité et la flexibilité de la stratégie.
Le cœur de la stratégie est d’utiliser les hauts et les bas de différentes périodes de temps pour déterminer le mouvement des prix. Tout d’abord, en fonction des périodes de temps choisies par l’utilisateur, les prix les plus élevés, les plus bas et les prix de clôture correspondants sont obtenus. Ensuite, en comparant si le prix le plus élevé de la période actuelle est supérieur au prix de clôture de la période précédente, un certain nombre de points sont ajoutés pour déterminer le signal d’achat.
La stratégie est logiquement claire, adaptable, facile à mettre en œuvre et à optimiser. Mais il existe également des problèmes de paramètres sensibles, de suradaptation et de risque de marché qui nécessitent une optimisation et une amélioration constantes dans les applications réelles. Des mesures telles que l’ajustement dynamique des paramètres, l’introduction de la gestion des risques et l’efficacité combinée avec d’autres indicateurs et des codes d’optimisation peuvent améliorer encore la stabilité et la rentabilité de la stratégie, fournissant des outils et des pistes efficaces pour la quantification des transactions.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(" NIFTY 65-15 ", overlay=true)
// Define input options for point settings and timeframe
points = input.int(60, title="Point Threshold", minval=1, step=1)
timeframe = input.timeframe("60", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"])
// Calculate high and low of the selected timeframe
high_timeframe = request.security(syminfo.tickerid, timeframe, high)
low_timeframe = request.security(syminfo.tickerid, timeframe, low)
close_timeframe = request.security(syminfo.tickerid, timeframe, close)
// Define conditions for Buy and Sell
buyCondition = high_timeframe > (close_timeframe[1] + points)
sellCondition = low_timeframe < (close_timeframe[1] - points)
// Entry and exit rules
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
// Close the positions based on the conditions
if (sellCondition)
strategy.close("Buy")
if (buyCondition)
strategy.close("Sell")
// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar)
// Plot the equity curve of the strategy
plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)