Esta estratégia toma decisões de negociação com base na variação percentual do preço de abertura de 5 minutos às 2:00 da manhã de cada dia, usando um breakout de duas etapas para definir diferentes condições de gatilho, com o objetivo de capturar movimentos significativos de preços em mercados variados.
A estratégia calcula a mudança percentual da vela de 5 minutos atual com base em seu preço de abertura em comparação com o preço de abertura da vela de 5 minutos às 2:00 da manhã todos os dias. Quando a mudança percentual excede o limiar de ruptura do primeiro estágio, são tomadas decisões de compra ou venda correspondentes. Os níveis de stop loss e take profit também são definidos para fechar posições.
Se o stop loss for acionado, quando a variação percentual continuar a aumentar e exceder a condição de acionamento do segundo estágio, as ordens anteriores serão canceladas e novas ordens de compra ou venda utilizando o limiar do segundo estágio serão colocadas, continuando a ser rastreado o stop loss e o take profit.
A configuração de breakout de dois estágios filtra algum ruído durante os mercados variáveis, fazendo apenas negociações em movimentos de preço mais significativos.
Atenuantes:
Esta estratégia capta picos de preços usando uma quebra de dois estágios em mercados variados, filtrando o ruído efetivamente. O conceito é simples e claro e pode alcançar bons resultados através da otimização de parâmetros. O próximo passo é combinar com indicadores de tendência para maximizar o desempenho durante os mercados de tendência.
/*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