Cette stratégie déclenche des signaux d'achat/vente en comparant les prix de clôture de la bougie actuelle et de la bougie précédente.
Plus précisément, si la bougie actuelle se ferme au-dessus du prix le plus élevé de la bougie précédente, un signal d'achat est déclenché.
Ce qui précède est la logique de base de cette stratégie.
L'idée de la stratégie est simple et claire dans l'ensemble, en utilisant le prix de clôture du chandelier pour déterminer la direction de la tendance et a également un stop-loss / take profit pour contrôler le risque, elle peut servir de stratégie de base pour les actions et le trading de crypto. Mais avec un jugement basé uniquement sur un délai, il a tendance à générer de faux signaux plus facilement. Il y a encore beaucoup de place pour l'amélioration en incorporant plus de facteurs et en ajustant les paramètres pour améliorer les performances de la stratégie.
/*backtest start: 2023-12-08 00:00:00 end: 2024-01-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Buy/Sell on Candle Close", overlay=true) var float prevLowest = na var float prevHighest = na var float slDistance = na var float tpDistance = na // Specify the desired timeframe here (e.g., "D" for daily, "H" for hourly, etc.) timeframe = "D" // Fetching historical data for the specified timeframe pastLow = request.security(syminfo.tickerid, timeframe, low, lookahead=barmerge.lookahead_on) pastHigh = request.security(syminfo.tickerid, timeframe, high, lookahead=barmerge.lookahead_on) if bar_index > 0 prevLowest := pastLow[1] prevHighest := pastHigh[1] currentClose = close if not na(prevLowest) and not na(prevHighest) slDistance := prevHighest - prevLowest tpDistance := 3 * slDistance // Adjusted for 1:3 risk-reward ratio // Buy trigger when current close is higher than previous highest if not na(prevLowest) and not na(prevHighest) and currentClose > prevHighest strategy.entry("Buy", strategy.long) strategy.exit("Buy TP/SL", "Buy", stop=prevLowest - slDistance, limit=prevHighest + tpDistance) // Sell trigger when current close is lower than previous lowest if not na(prevLowest) and not na(prevHighest) and currentClose < prevLowest strategy.entry("Sell", strategy.short) strategy.exit("Sell TP/SL", "Sell", stop=prevHighest + slDistance, limit=prevLowest - tpDistance) plot(prevLowest, color=color.blue, title="Previous Lowest") plot(prevHighest, color=color.red, title="Previous Highest")