
La stratégie prend des décisions de négociation basées sur les hauts et les bas du prix d’ouverture de 5 minutes, en utilisant des ruptures de deux étages pour définir des conditions de déclenchement différentes, dans le but de capturer des fluctuations de prix plus importantes dans les tendances de choc.
La stratégie est basée sur le prix d’ouverture de la ligne K pendant 5 minutes pendant 2 heures par jour, calculant le pourcentage de baisse et de hausse de la ligne K pendant 5 minutes, et prend une décision d’achat ou de vente correspondante lorsque la hausse et la baisse dépassent la portée de la première étape définie. Tout en définissant un stop-loss et un stop-loss pour quitter la position.
Si un stop loss est déclenché, les ordres précédents seront annulés lorsque la baisse continue à s’étendre et dépasse la condition de déclenchement de la deuxième tranche, de nouvelles instructions d’achat ou de vente seront utilisées sous la deuxième tranche et les arrêts et arrêts continueront d’être suivis.
La configuration de l’intervalle à deux niveaux permet de filtrer une partie du bruit en cas de choc et de ne négocier que lorsque les prix évoluent de manière significative. L’activation de l’intervalle à deux niveaux permet de réduire les stop-loss trop fréquemment déclenchés.
La réponse:
Le concept de la stratégie est simple et clair, l’optimisation des paramètres peut avoir un meilleur effet. La prochaine étape peut être considérée en combinaison avec des indicateurs de jugement de tendance, pour tirer parti de l’avantage de la stratégie dans une situation de tendance.
/*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