
A estratégia de negociação de sessão de tempo avançado com lógica de reversão inteligente é uma estratégia de negociação de quantificação precisa, projetada especificamente para negociação de sessão em um período de tempo de 1 hora. A estratégia usa a confirmação de direção, os parâmetros de risco predefinidos e os pedidos de limite executados durante a noite para obter vantagem no mercado.
Os princípios centrais da estratégia são baseados na análise de relações de preços em pontos específicos do tempo e na lógica de inversão inteligente:
Mecanismo de confirmação de direçãoO sistema compara o preço de abertura das 08:00 e o preço de fechamento das 18:00 todos os dias. Se a direção do preço do dia for a mesma que a do dia anterior, a estratégia inverterá o sinal; se a direção for diferente, manterá a direção da tendência do dia.
Definição de ponto de entradaO sistema irá definir automaticamente o ponto de entrada de acordo com a direção confirmada.
Execução de acesso com restrição de tempo: Os pedidos são enviados depois das 18:00 (hora de Nova Iorque) e podem ser acionados a qualquer hora entre as 18:00 e as 08:00 do dia seguinte. Se o ponto de entrada não for tocado antes das 08:00 do dia seguinte, o pedido será cancelado automaticamente.
Função de liquidação manualSe a negociação estiver aberta na hora configurada (09:00 (hora padrão de Nova Iorque), o sistema fechará todas as posições, simulando um cenário real de saída no dia seguinte.
Cálculo de posições com base no riscoO tamanho da posição é calculado de forma dinâmica com base no tamanho da conta, percentagem de risco e distância de parada, garantindo que a exposição ao risco seja sempre consistente, independentemente da volatilidade do mercado.
Ao analisar o código em profundidade, a estratégia mostra as seguintes vantagens significativas:
Execução de transações com precisão de tempoA estratégia utiliza pontos horários específicos (08:00 e 18:00 hora de Nova York) para tomar decisões e executar, garantindo a captura de oportunidades em momentos críticos do mercado. Esta abordagem baseada no tempo reduz o ruído de negociação e aumenta a previsibilidade das negociações.
Logia de inversão inteligenteComparando a direção dos preços em dois dias consecutivos, a estratégia é capaz de identificar potenciais tendências que se esgotam e inverter a direção a tempo. Esta abordagem ajuda a evitar a perseguição de tendências que já se estendem demais e aumenta a precisão de entrada.
Integração de Gestão de RiscosA estratégia inclui uma ampla gama de recursos de gestão de riscos, incluindo:
Vantagens de um pedido limitadoA utilização de ordens de limite em vez de ordens de mercado, assegura a execução das transações a preços mais favoráveis, reduz os pontos de deslizamento e evita a entrada em condições desfavoráveis.
Operação totalmente automáticaUma vez configurada, a estratégia pode ser totalmente automatizada, sem necessidade de monitoramento contínuo, reduzindo a interferência emocional e os erros humanos.
A estratégia, apesar de bem concebida, apresenta os seguintes riscos:
Perda de negóciosComo o ponto de entrada é baseado no máximo/mínimo do dia e tem restrições de tempo, a estratégia pode perder oportunidades de negociação quando o preço não atinge o ponto de referência. Isso é mais comum, especialmente em ambientes de baixa volatilidade.
Risco de falha de lógica inversaEm mercados de forte tendência, a lógica de inversão baseada na semelhança de direção pode levar a negociações adversas prematuras, aumentando o risco de perdas.
Dependência de tempoA estratégia é altamente dependente de um ponto de tempo específico (horário de Nova York) e pode ter menor eficácia em diferentes mercados ou horários de negociação irregulares.
Risco de perda fixaO uso de pontos fixos como stop loss pode não ser adequado em todas as condições de mercado, especialmente em situações de súbita volatilidade.
Solução:
A estratégia pode ser otimizada nas seguintes direções:
Nível de stop loss dinâmicoA estratégia atual usa pontos fixos como paradas e paradas, que podem ser melhorados para níveis dinâmicos baseados no ATR ou na porcentagem de volatilidade para melhor se adaptar a diferentes condições de mercado. Isso ocorre porque a volatilidade do mercado muda com o tempo e os pontos fixos podem ser pequenos demais em períodos de alta e baixa volatilidade.
Adicionar filtro de tendênciaIntrodução de indicadores de tendência (como o cruzamento de médias móveis ou ADX) como confirmação adicional. Negocie somente em ambientes de tendência favoráveis. Isso reduzirá os sinais errôneos no mercado de liquidação e aumentará a taxa de vitória geral.
Optimizar a janela de tempo: Encontrar as melhores janelas de tempo para um mercado específico através da retrospecção de diferentes combinações de pontos horários (e não apenas 08:00 e 18:00). Diferentes instrumentos financeiros podem apresentar padrões de comportamento únicos em diferentes momentos.
Adição de confirmação de múltiplos ciclosVerificar o sinal de 1 hora verificando a direção de um marco de tempo mais alto (como 4 horas ou diagrama) para garantir que a negociação esteja de acordo com a tendência maior. Esta abordagem reduz o risco de negociação de contra-corrente.
Implementação de mecanismos de lucro parcialA adição de uma função de liquidação parcial da posição quando um determinado nível de lucro é atingido, bloqueando parte dos lucros e permitindo que as posições restantes continuem a operar. Isso pode aumentar a estabilidade de lucro geral, mantendo um alto potencial de retorno.
A estratégia de negociação de sessão de tempo avançado com lógica de reversão inteligente é um sistema de negociação quantitativa cuidadosamente projetado, combinando pontos de decisão específicos de tempo, confirmação de direção inteligente e gerenciamento de risco abrangente. Analisando a relação de preços em pontos-chave de 08:00 e 18:00 horas de Nova York e aplicando lógica de reversão inteligente, a estratégia é capaz de identificar efetivamente potenciais esgotos de tendência e oportunidades de reversão corretivas.
O mecanismo de pedidos de limite de preço da estratégia garante um preço de entrada mais favorável, enquanto os parâmetros de risco predefinidos e o cálculo de posições dinâmicas fornecem um controle de risco consistente. Apesar de existirem alguns riscos inerentes, como oportunidades de negociação perdidas e falha de lógica de reversão em certas condições de mercado, estes podem ser mitigados pela orientação de otimização recomendada.
A estratégia tem o potencial de melhorar ainda mais o seu desempenho e adaptabilidade através da implementação de níveis dinâmicos de stop loss/stop, aumento de filtros de tendência, otimização de janelas de tempo, adição de confirmação de múltiplos ciclos e mecanismos de lucro parcial. No geral, é um sistema de negociação bem estruturado e com lógica clara, especialmente adequado para os comerciantes que desejam automatização e disciplina nas negociações do dia.
/*backtest
start: 2024-06-27 00:00:00
end: 2025-06-25 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=6
strategy("LANZ Strategy 1.0 [Backtest]", overlay=true, default_qty_type=strategy.cash, default_qty_value=100)
// === TIMEFRAME RESTRICTION ===
if timeframe.period != "60"
runtime.error("🚫 LANZ Strategy 1.0 is only available on the 1h timeframe.")
// === INPUTS ===
accountSizeUSD = input.int(100000, title="Account #1 - Capital ($)", minval=1, group="💸 Main Account Management")
riskPercent = input.float(1.0, title="Account #1 - Risk (%)", minval=0.1, maxval=100, group="💸 Main Account Management")
slPipsInput = input.int(18, title="Stop Loss (pips)", minval=1, group="📏 Risk Settings")
tpPipsInput = input.int(54, title="Take Profit (pips)", minval=1, group="📏 Risk Settings")
manualCloseHour = input.int(9, title="Hora de Cierre Manual (NY)", minval=0, maxval=23, group="🔚 Cierre Manual")
// === GLOBALS ===
pipSize = syminfo.mintick * 10
var float openAt0800 = na
var float closeAt1800 = na
var int priceDirection = na
var int prevPriceDirection = na
var int todayPriceDirection = na
var int finalSignalDirection = na
var float baseLevel = na
var float baseSL = na
var float baseTP = na
var bool orderSent = false
// === KEY TIMES ===
is0800 = (hour(time, "America/New_York") == 8 and minute(time, "America/New_York") == 0)
is1800 = (hour(time, "America/New_York") == 18 and minute(time, "America/New_York") == 0)
nyHour = hour(time, "America/New_York")
nyMinute = minute(time, "America/New_York")
entryWindow = (nyHour >= 18 or nyHour < 8)
cutoffPassed = not entryWindow
isManualClose = (nyHour == manualCloseHour and nyMinute == 0)
// === CAPTURE OPEN AND CLOSE ===
if is0800
openAt0800 := open
if is1800
closeAt1800 := close
priceDirection := closeAt1800 > openAt0800 ? 1 : closeAt1800 < openAt0800 ? -1 : 0
prevPriceDirection := todayPriceDirection
todayPriceDirection := priceDirection
coinciden = priceDirection == prevPriceDirection and not na(prevPriceDirection)
finalSignalDirection := coinciden ? priceDirection : -1 * priceDirection
fibRange = high - low
baseLevel := finalSignalDirection == -1 ? low : high
baseSL := finalSignalDirection == -1 ? baseLevel - slPipsInput * pipSize : baseLevel + slPipsInput * pipSize
baseTP := finalSignalDirection == -1 ? baseLevel + tpPipsInput * pipSize : baseLevel - tpPipsInput * pipSize
orderSent := false
// === LIMIT ORDER SENDING (AT 19:00 AND FOLLOWING IF NOT YET TOUCHED) ===
canPlaceOrder = not orderSent and strategy.opentrades == 0 and entryWindow
if canPlaceOrder
slPips = math.abs(baseLevel - baseSL) / pipSize
riskUSD = accountSizeUSD * (riskPercent / 100)
qty = slPips > 0 ? (riskUSD / (slPips * 10)) : na
if not na(qty)
isLong = finalSignalDirection == -1
if isLong
strategy.entry("BUY", strategy.long, qty=qty, limit=baseLevel)
strategy.exit("TP/SL BUY", from_entry="BUY", stop=baseSL, limit=baseTP)
else
strategy.entry("SELL", strategy.short, qty=qty, limit=baseLevel)
strategy.exit("TP/SL SELL", from_entry="SELL", stop=baseSL, limit=baseTP)
orderSent := true
// === CANCEL IF NO EP TOUCHED BEFORE 08:00 NY ===
if cutoffPassed and strategy.opentrades == 0 and orderSent
strategy.cancel("BUY")
strategy.cancel("SELL")
orderSent := false
// === MANUAL CLOSING AT HH:00 NY CONFIGURABLE ===
if strategy.opentrades > 0 and isManualClose
strategy.close("BUY")
strategy.close("SELL")