
A estratégia de negociação de agências de preços em períodos de tempo múltiplos é um sistema de negociação diária baseado no conceito de negociação interna bancária, especialmente projetado para capturar tendências de queda no mercado. A estratégia identifica o fluxo de fundos da instituição, rastreando o comportamento de preços nos três principais períodos de negociação em Londres, Nova York e Ásia, e procura oportunidades de tomada de posse com alta probabilidade em áreas de preços-chave.
A estratégia funciona com base na análise da estrutura de preços em vários períodos de negociação, incluindo os seguintes componentes principais:
Configuração de abertura de Londres (02h00 às 08h20 em Nova Iorque)Código através de variáveis:sessionLondonConfigure a hora de início do período em Londres e atualize o preço mais alto do período em tempo reallondonHighE o preço mínimolondonLowO horário de Londres geralmente estabelece o início do dia.
Nova Iorque, Zona da Morte (8:20-10:00 GMT)Configurações de código:sessionNYOpenCapturar o horário de abertura de Nova York. Quando o preço retrocede após a ruptura do ponto mais alto do horário de Nova York em Londres (o chamado “swing de Judas”), satisfaz-se as condiçõesjudasSwing = high >= londonHigh and time >= sessionNYOpenO sistema está pronto para fazer um vazio.
O fechamento de compra e venda em Londres está configurado para 10:30-13:00 (horário de Nova York)No código:londonCloseBuyPara determinar se a condição desencadeou um sinal de multiplicação no final de Londres, os preços precisam cair para baixo no horário de Londres, com o objetivo de capturar uma reversão de retorno.
Ásia abertura do set de tomada de posse (Nova Iorque 19:00-2:00)Código aprovadosessionAsiaA hora asiática começa quando o preço ultrapassa o ponto mais alto da hora asiática.close > asiaHighO que é que a gente está a fazer?
A lógica de negociação central da estratégia é aproveitar o conceito de “oscilação de Judas”, ou seja, quando o preço retorna após uma breve quebra do pico de Londres no horário de Nova York, indicando que as grandes instituições podem ter alta alta no momento em que o shorting tem uma maior probabilidade de vitória. Ao mesmo tempo, a estratégia também inclui várias reversões no horário de encerramento de Londres e estratégias de shorting no horário asiático, formando um sistema de negociação em todo o clima.
Ao analisar o código em profundidade, a estratégia tem as seguintes vantagens significativas:
Análise de colaboração por períodos de tempoA estratégia combina dados de preços de três grandes períodos de negociação, através de variáveis:londonHigh、nyHigheasiaHighA análise de preços de diferentes mercados, por exemplo, evita a limitação de uma análise de um único período.
A lógica de admissão baseada no conceito de instituiçãoO conceito de “Judas oscilante” é o centro da estratégia.judasSwingA avaliação condicional (conditional judgement) é uma forma de identificar o comportamento induzido e as intenções reais das grandes instituições através de transações diretas com fundos de instituições de referência.
Controle de tempo precisoAprovado:timestampA função define com precisão o início e o fim de cada período de negociação, garantindo a negociação nos períodos de mercado mais ativos e aumentando a eficácia das negociações.
Gestão de riscos claraO código contém uma definição de stop loss:stopLoss = high + 10 * syminfo.mintick) e objetivos de lucro (profitTarget = low - 20 * syminfo.mintickO que significa que o risco de cada transação pode ser controlado?
Apoio em visualizaçãoEstratégia aprovadaplotA função mapeia os altos e baixos de cada período de tempo, fornecendo uma referência visual intuitiva para decisões de negociação e aumentando a praticidade da estratégia.
Apesar do bom desenho da estratégia, existem os seguintes riscos potenciais:
Risco de Falso BreakoutEm mercados de alta volatilidade, os sinais de “Judas oscilação” podem produzir falsas rupturas, resultando em erros de fechamento. A solução é adicionar condições de filtragem, como a confirmação de volume de transação combinado ou esperar um padrão de retorno de preço mais claro.
Dependência de tempoA estratégia é altamente dependente do comportamento do mercado em um determinado período de tempo. A eficácia da estratégia pode ser reduzida se as características do mercado mudarem ou se notícias importantes forem divulgadas em horários atípicos. Recomenda-se o uso de calendários de notícias do mercado e a suspensão da negociação antes da divulgação de dados importantes.
Paragem de perda fixa: O código de stop loss é um número fixo de pontos (((10 * syminfo.mintick), sem levar em consideração as diferenças de volatilidade em diferentes mercados e períodos de tempo. Pode ser melhorado para o stop loss dinâmico baseado em indicadores de volatilidade como o ATR.
Falta de filtragemA estratégia não leva em consideração a tendência geral do mercado e o ambiente de flutuação, podendo frequentemente produzir sinais de corte de preço errados em um cenário de alta forte. Recomenda-se a adição de condições de filtragem de tendência, como a direção da média móvel ou o indicador de volume dinâmico.
Detecção de risco de desvioUma vez que a estratégia depende do comportamento do preço em um determinado período de tempo, pode haver um desvio de previsão quando a retrospectiva é feita em períodos de tempo baixos. As diferenças entre o desempenho da estratégia e os resultados da retrospectiva devem ser observadas nas negociações reais.
Com base na análise de código, a estratégia pode ser otimizada nas seguintes direções:
Mecanismo de parada dinâmicaA perda de pontos é fixa.stopLoss = high + 10 * syminfo.mintick) para um stop dinâmico baseado no ATR, comostopLoss = high + atr(14) * 1.5A partir daí, é possível melhor se adaptar às características de flutuação de diferentes cenários de mercado.
Filtragem de tendênciasA adição de critérios de avaliação de tendências de períodos de tempo mais elevados, como a direção da linha do dia ou da média móvel de um gráfico de 4 horas, pode aumentar a probabilidade de vitória da estratégia.
Confirmação de entregaA análise de volume de transação é aumentada quando o sinal de Judas Swing é acionado, e o shorting é executado somente quando o retorno do preço é acompanhado por um aumento de volume de transação, o que reduz os prejuízos causados por uma falsa ruptura.
Adição ao Índice de Sentimento de MercadoCombinação com o VIX ou outros indicadores de volatilidade de mercado, ajuste ou suspenda a estratégia em um ambiente de extrema volatilidade, evitando a negociação em mercados instáveis.
Otimização do tempo de entradaO que é que é que é que é que é?close < openA precisão de entrada pode ser melhorada ao esperar que o preço volte para o suporte crítico (como o preço de abertura do horário de Londres ou VWAP).
Adição de confirmação de múltiplos ciclos: Uma estrutura de preços com ciclos de tempo mais curtos, procurando pontos de entrada mais precisos, reduzindo pontos de deslizamento e riscos desnecessários após o cumprimento dos principais critérios de entrada.
Essas orientações de otimização visam aumentar a estabilidade e a confiabilidade da estratégia, permitindo que ela mantenha um bom desempenho em diferentes cenários de mercado.
A estratégia de negociação de agências de preços em períodos de tempo múltiplos é um sistema de negociação diária integrado que integra o conceito de negociação de TIC para capturar oportunidades de negociação de alta probabilidade trazidas pelo fluxo de fundos da instituição através da análise da estrutura de preços dos três principais períodos de negociação de Londres, Nova York e Ásia. A maior característica da estratégia é seguir o fluxo de fundos da instituição para a negociação, especialmente para capturar oportunidades de tomada de posse, utilizando o conceito de “oscillação de Judas”, além de conter estratégias de tomada de posse de retorno e tomada de posse no horário asiático, formando um sistema de negociação abrangente.
Embora a estratégia seja razoavelmente concebida e inclua condições de entrada e regras de gerenciamento de risco claras, ainda existem falhas, como o risco de falsas rupturas e a forte dependência de um determinado momento. A estabilidade e a adaptabilidade da estratégia podem ser melhoradas ainda mais com a adição de medidas de otimização, como stop loss dinâmico, filtragem de tendência e confirmação de volume de transação.
A estratégia oferece uma maneira estruturada de entender e aproveitar as características do mercado em diferentes períodos de negociação para os comerciantes que buscam oportunidades de negociação intradiária, especialmente para aqueles que desejam dominar o conceito de negociação institucional e lucrar com o dia curto.
/*backtest
start: 2024-03-26 00:00:00
end: 2025-03-25 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("ICT Bread and Butter Sell-Setup", overlay=true)
// Get current date values
t = time
currentYear = year(t)
currentMonth = month(t)
currentDay = dayofmonth(t)
// Time Settings
sessionNYOpen = timestamp(currentYear, currentMonth, currentDay, 08, 20) // CME Open
sessionLondon = timestamp(currentYear, currentMonth, currentDay, 02, 00) // London Open
sessionAsia = timestamp(currentYear, currentMonth, currentDay, 19, 00) // Asia Open
sessionEnd = timestamp(currentYear, currentMonth, currentDay, 16, 00) // Market Close
// Session Ranges (Initialize to the first bar values)
var float londonHigh = high
var float londonLow = low
var float nyHigh = high
var float nyLow = low
var float asiaHigh = high
var float asiaLow = low
// Update Highs & Lows for Each Session
if (time >= sessionLondon and time < sessionNYOpen)
londonHigh := math.max(londonHigh, high)
londonLow := math.min(londonLow, low)
if (time >= sessionNYOpen and time < sessionEnd)
nyHigh := math.max(nyHigh, high)
nyLow := math.min(nyLow, low)
if (time >= sessionAsia and time < sessionLondon)
asiaHigh := math.max(asiaHigh, high)
asiaLow := math.min(asiaLow, low)
// New York Judas Swing (Temporary Rally)
judasSwing = high >= londonHigh and time >= sessionNYOpen and time < sessionEnd
// Short Entry in NY Kill Zone
shortEntry = judasSwing and close < open
stopLoss = high + 10 * syminfo.mintick
profitTarget = low - 20 * syminfo.mintick
if shortEntry
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", from_entry="Short", limit=profitTarget, stop=stopLoss)
// London Close Buy Setup
londonCloseBuy = time >= timestamp(currentYear, currentMonth, currentDay, 10, 30) and time <= timestamp(currentYear, currentMonth, currentDay, 13, 00) and close < londonLow
if londonCloseBuy
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit Buy", from_entry="Buy", limit=close + 20 * syminfo.mintick, stop=low - 10 * syminfo.mintick)
// Asia Open Sell Setup
asiaSell = time >= sessionAsia and time < sessionLondon and close > asiaHigh
if asiaSell
strategy.entry("Asia Short", strategy.short)
strategy.exit("Asia Profit", from_entry="Asia Short", limit=close - 15 * syminfo.mintick, stop=high + 10 * syminfo.mintick)
// Plot High/Low of Sessions
plot(londonHigh, color=color.blue, title="London High")
plot(londonLow, color=color.blue, title="London Low")
plot(nyHigh, color=color.red, title="NY High")
plot(nyLow, color=color.red, title="NY Low")
plot(asiaHigh, color=color.orange, title="Asia High")
plot(asiaLow, color=color.orange, title="Asia Low")