Cette stratégie prend des décisions de négociation basées sur la variation en pourcentage par rapport au prix d'ouverture de 5 minutes à 2 heures du matin chaque jour, en utilisant une rupture en deux étapes pour définir différentes conditions de déclenchement, dans le but de capturer des mouvements de prix significatifs sur différents marchés.
La stratégie calcule le changement en pourcentage de la bougie de 5 minutes actuelle en fonction de son prix d'ouverture par rapport au prix d'ouverture de la bougie de 5 minutes à 2h00 tous les jours. Lorsque le changement en pourcentage dépasse le seuil de rupture de la première étape, des décisions d'achat ou de vente correspondantes sont prises.
Si le stop loss est déclenché, lorsque le changement en pourcentage continue de s'étendre et dépasse la condition de déclenchement de la deuxième étape, les ordres antérieurs sont annulés et de nouveaux ordres d'achat ou de vente utilisant le seuil de la deuxième étape sont passés, le suivi du stop loss et du take profit continuant.
L'installation de la rupture en deux étapes filtre un peu de bruit pendant les marchés en évolution, ne faisant des transactions que sur des mouvements de prix plus importants.
Les mesures d'atténuation
Cette stratégie capte les pics de prix en utilisant une rupture en deux étapes dans les marchés variés, filtrant efficacement le bruit. Le concept est simple et clair, et peut obtenir de bons résultats grâce à l'optimisation des paramètres.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Auto Entry Bot", overlay=true) // Define input for the stop loss and take profit levels stopLossPips = input.int(200, title="Stop Loss Pips", minval=1) takeProfitPips = input.int(400, title="Take Profit Pips", minval=1) // Calculate the percentage change from the 5-minute opening candle at 2:00 AM var float openPrice = na if (hour == 2 and minute == 0) openPrice := open percentageChange = (close - openPrice) / openPrice * 100 // Track the cumulative percentage change var float cumulativeChange = 0 // Define input for the percentage change trigger triggerPercentage1 = input.float(0.25, title="Percentage Change Trigger (%)", minval=0.01, step=0.01) triggerPercentage2 = input.float(0.35, title="Additional Trigger Percentage (%)", minval=0.01, step=0.01) // Check for price change trigger if (percentageChange >= triggerPercentage1) // Sell signal strategy.entry("Sell", strategy.short) strategy.exit("ExitSell", loss=stopLossPips, profit=takeProfitPips) cumulativeChange := 0 // Reset cumulative change after a trade if (percentageChange <= -triggerPercentage1) // Buy signal strategy.entry("Buy", strategy.long) strategy.exit("ExitBuy", loss=stopLossPips, profit=takeProfitPips) cumulativeChange := 0 // Reset cumulative change after a trade // If the price keeps hitting stop loss, activate the second trigger if (strategy.position_size < 0 and percentageChange <= -triggerPercentage2) strategy.cancel("Sell") // Cancel previous sell order strategy.entry("Sell2", strategy.short) strategy.exit("ExitSell2", loss=stopLossPips, profit=takeProfitPips) cumulativeChange := 0 // Reset cumulative change after a trade if (strategy.position_size > 0 and percentageChange >= triggerPercentage2) strategy.cancel("Buy") // Cancel previous buy order strategy.entry("Buy2", strategy.long) strategy.exit("ExitBuy2", loss=stopLossPips, profit=takeProfitPips) cumulativeChange := 0 // Reset cumulative change after a trade