
A estratégia baseia-se em decisões de negociação de alta e baixa do preço de abertura de 5 minutos, usando um breakout de dois níveis para definir diferentes condições de disparo, com o objetivo de capturar grandes mudanças de preço em uma tendência de choque.
A estratégia baseia-se no preço de abertura da linha K em 2 horas e 5 minutos por dia, calcula a porcentagem de aceleração e queda da linha K em 5 minutos no momento, e toma a decisão de compra ou venda correspondente quando a aceleração e queda ultrapassam o intervalo definido para o primeiro estágio. Ao mesmo tempo, define o stop loss e o stop loss para sair da posição.
Se o stop-loss for acionado, quando a tendência de queda continuar a se expandir e ultrapassar a condição de ação do intervalo de fase dois, a ordem anterior será cancelada, usando uma nova ordem de compra ou venda abaixo do intervalo de fase dois e continuando a seguir o stop-loss e o stop-loss.
A configuração de um intervalo de dois níveis permite filtrar parte do ruído em situações de turbulência, permitindo a negociação somente em situações de mudanças de preço significativas. A ativação de um intervalo de segundo nível reduz os casos em que o stop loss é acionado com demasiada frequência.
Resposta:
A estratégia de capturar os movimentos de preços através de duas etapas de ruptura de intervalo, filtração eficaz de ruído em situações de turbulência. O conceito da estratégia é simples e claro, através de parâmetros de otimização pode obter melhores efeitos. O próximo passo pode ser considerado em combinação com indicadores de julgamento de tendência, para exercer vantagem estratégica em situações 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