
Esta estratégia é uma estratégia de negociação diária baseada no padrão do diagrama da manhã, que utiliza principalmente os altos e baixos da linha do diagrama das 11:00 para determinar o movimento do mercado. A ideia central da estratégia é fazer mais quando o preço quebra o pico da manhã e fechar quando o preço quebra o pico, e definir as condições de parada correspondentes. Esta abordagem combina a ideia de acompanhamento de tendências e inversão de preços, com o objetivo de capturar o movimento de curto prazo após a ruptura de um nível de preço importante no dia.
A estratégia funciona da seguinte forma:
Determine o preço-chave: a estratégia identifica primeiro o ponto mais alto e o ponto mais baixo das 11h da madrugada e usa esses dois preços como nível-chave de referência.
Sinal de entrada:
Parar de perder:
Mecanismos de saída:
Limitação do tempo de negociação: a estratégia é não abrir novas negociações depois das 15:15 para evitar a volatilidade anormal antes do fechamento.
Regras de negociação claras: estratégias baseadas em brechas de preço claras e lógica de reversão, fáceis de entender e executar.
Controle de Risco: Controle efetivo do risco de cada transação por meio da definição de um ponto de parada fixo.
Adaptação ao mercado: a estratégia pode se adaptar a diferentes condições de flutuação do mercado com base nos intervalos de preços formados pela manhã.
Execução automática: A estratégia pode ser programada para realizar transações totalmente automatizadas, reduzindo a intervenção humana e o impacto emocional.
Negociação intra-dia: evita o risco de posicionamento durante a noite, eliminando as posições antes do fechamento do dia.
Flexibilidade: A estratégia pode ser optimizada para diferentes mercados e variedades de negociação.
Risco de Falso Breakout: O mercado pode ter Falso Breakout, o que leva a frequentes saídas de Stop Loss.
Limitação da amplitude de oscilação: em períodos de baixa oscilação, a estratégia pode ser difícil de desencadear sinais de negociação ou gerar lucros efetivos.
Um único período de tempo: dependendo apenas da linha das 11h, pode-se ignorar informações importantes sobre o mercado em outros períodos de tempo.
Falta de acompanhamento de tendências: a estratégia pode não ter condições de parada e não ter uma visão completa das grandes tendências.
Stop loss fixo: em mercados altamente voláteis, o stop loss fixo pode ser muito próximo, levando a uma saída prematura de uma situação favorável.
Custos de transação: a frequência de entradas e saídas pode levar a custos de transação mais elevados, afetando o lucro geral.
Introdução de análise de múltiplos períodos de tempo: a combinação de períodos de tempo mais longos com a determinação de tendências aumenta a precisão das transações.
Paradas dinâmicas: usando métodos como o indicador ATR, configure paradas dinâmicas para se adaptar a diferentes estados de flutuação do mercado.
Adição de um mecanismo de parada: configuração de um parâmetro de parada baseado na relação de risco/benefício, melhorando a relação de perdas e perdas da estratégia.
Análise de volume: adiciona análise de volume de transação para aumentar a confiabilidade do sinal de ruptura.
Filtragem do estado do mercado: introdução de indicadores de volatilidade como o ATR, reduzindo a frequência de negociação em períodos de baixa volatilidade.
Optimizar o tempo de entrada: Considere usar indicadores como o RSI para negociar de forma inversa em áreas de sobrecompra e sobrevenda.
Adição de elementos de rastreamento de tendências: Considere o uso de stop loss móvel para rastrear a tendência em fortes breakouts.
Retrospecção e otimização de parâmetros: retrospecção de diferentes combinações de parâmetros para encontrar a melhor configuração de parâmetros.
A estratégia de breakout e reversão de breakout da manhã é um sistema de negociação diária baseado em breakouts de preços-chave. Ela usa o ponto alto e baixo da breakout das 11:00 da manhã como uma referência importante para capturar tendências de curto prazo por meio de breakouts de preços.
/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Custom Strategy Nifty 50", overlay=true)
// Define the time variables
var bool morningCandleFound = false
var float morningHigh = na
var float morningLow = na
var bool inTrade = false
var int tradeDirection = 0 // 0: No trade, 1: Buy Call, -1: Buy Put
var bool noNewTrades = false // To prevent new trades after 15:15
// Identify the high and low of the 11:00 morning candle
if (hour == 11 and minute == 0)
morningHigh := high
morningLow := low
morningCandleFound := true
// Plot the high and low of the 11:00 morning candle
plot(morningHigh, title="11:00 morning High", color=color.green, linewidth=2)
plot(morningLow, title="11:00 morning Low", color=color.red, linewidth=2)
// Conditions for Buy Call and Buy Put signals
var bool buyCallCondition = false
var bool buyPutCondition = false
if (morningCandleFound and (hour > 11 or (hour == 11 and minute > 0)) and not noNewTrades)
// Check for Buy Call condition
if (close[1] > morningHigh and close > morningHigh)
if (not inTrade or tradeDirection != 1)
strategy.entry("Buy Call", strategy.long, stop=morningLow)
buyCallCondition := true
inTrade := true
tradeDirection := 1
label.new(bar_index, high, "Buy Call", color=color.green)
alert("Buy Call: Price crossed morning high", alert.freq_once_per_bar_close)
else if (close[1] <= morningHigh)
buyCallCondition := false
// Check for Buy Put condition
if (close[1] < morningLow and close < morningLow)
if (not inTrade or tradeDirection != -1)
strategy.entry("Buy Put", strategy.short, stop=morningHigh)
buyPutCondition := true
inTrade := true
tradeDirection := -1
label.new(bar_index, low, "Buy Put", color=color.red)
alert("Buy Put: Price crossed morning low", alert.freq_once_per_bar_close)
else if (close[1] >= morningLow)
buyPutCondition := false
// Exit conditions
if (inTrade)
if (tradeDirection == 1 and low <= morningLow)
strategy.close("Buy Call")
label.new(bar_index, low, "Exit Call", color=color.red)
alert("Exit Call: Price fell below stop", alert.freq_once_per_bar_close)
buyCallCondition := false
inTrade := false
tradeDirection := 0
if (tradeDirection == -1 and high >= morningHigh)
strategy.close("Buy Put")
label.new(bar_index, high, "Exit Put", color=color.green)
alert("Exit Put: Price rose above stop", alert.freq_once_per_bar_close)
buyPutCondition := false
inTrade := false
tradeDirection := 0
// Close all positions at 15:15 and prevent new trades for the rest of the day
if (hour == 15 and minute == 15)
strategy.close_all()
inTrade := false
tradeDirection := 0
noNewTrades := true
alert("Close All Positions at 15:15", alert.freq_once_per_bar_close)
// Reset noNewTrades at the start of a new day
if (hour == 11 and minute == 0)
noNewTrades := false