Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Experts

SessionReopenEA - expert para MetaTrader 5

Gianluca Gangemi
Gianluca Gangemi
  • MQL5 / MetaTrader 5 developer em  Freelance
  • Itália
  • 591
Desenvolvedor MQL5, trabalho na automacao do MetaTrader 5: Expert Advisors, controle de risco e pipelines de pesquisa de MT5 para Python.
| Portuguese English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Visualizações:
20
Avaliação:
(4)
Publicado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance


O ouro tem uma pausa diária para manutenção na CME. A primeira hora de negociação após essa pausa apresenta uma alta superior ao que o acaso poderia explicar, e isso ocorre em todos os anos civis de uma amostra de onze anos — enquantotodas as outras horas do dia apresentam um desempenho estável.

Este Expert Advisor compra nessa reabertura, mantém a posição por um tempo fixo com um stop do lado do servidor ajustado à volatilidade e não faz mais nada. Uma operação por sessão. Sem média móvel, sem grid, sem martingale, sem recuperação.

O número, e depois o número depois que descobri que meu modelo de custo estava errado

Medido ao longo de 11 anos de dados por hora, entrando na reabertura e mantendo a posição por duas horas:

como o custo cobrado pela pesquisa pelo custo medido pelo testador
por operação +3,34 bps +1,60 bps
estatística t 7,40 3,42
taxa de vitórias 59,3% 50,8%
fator de lucro 1,63 1,30
anos positivos 11 de 11 10 de 11

A coluna da esquerda é o que eu teria publicado se tivesse parado onde a maioria das pessoas para. Então, um backtest com ticks reais no próprio Testador de Estratégias do MetaTrader mostrou que o custo real de ida e volta na reabertura é de cerca de60 pontos, e não os 19 que minha pesquisa havia calculado — porque o campo de spread da barra M1 é um resumo por barra e subestima o spread de reabertura em aproximadamente três vezes.

A vantagem sobrevive a essa correção, com menos da metade de sua força original, e a taxa de acerto passa a ser um lance de moeda, sustentada por um retorno favorável, e não pela frequência. A coluna da direita é a verdadeira, e é nela que este EA se baseia.

O que ele não é

Não é um meio de subsistência, e o cabeçalho do arquivo-fonte deixa isso claro antes mesmo de qualquer parâmetro ser descrito. Com um capital dimensionado para uma queda de 20%, ele rende cerca de+3,3% ao ano, com queda máxima de 4,6%, índice de Sharpe de 1,23 e aproximadamente 200 negociações por ano — o que também significa que, aproximadamente,um ano em cada nove é negativo. Com 0,01 lotes, isso equivale a cerca de 130 unidades monetárias por ano, e esse valor mede otamanho da posição, não a estratégia.

Uma janela de 2,5 anos, considerada isoladamente, resulta emt = +1,12 — o que não é significativo. Um backtest lucrativo de dois anos dessa estratégia, por si só, não prova nada; é a amostra de onze anos que dá o resultado.

O que o resultado superou antes de eu confiar nele

Cada um desses fatores poderia ter acabado com ele, e a razão pela qual estão listados é que um resultado que ninguém tentou quebrar não é um resultado:

  • Não se trata de uma lacuna. A lacuna registrada ao longo da quebra tem média de −0,011 — o movimento ocorre com o mercadoaberto.
  • Não é um artefato de construção de barras. A reconstrução da hora a partir de barras M1 obtidas independentemente coincide com a série H1 até 0,0000 em todos os 73 dias de sobreposição.
  • Não se trata de outliers. A média aparada em 1% é de +0,70 contra +0,75 da amostra completa; a mediana é de +0,48.
  • Não se trata da normalização do spread, que seria a armadilha óbvia, já que as barras do MT5 são do lado da oferta e o spread na reabertura é mais amplo: o spread permanece estável ao longo de toda a hora, portanto explica 0% do efeito.
  • Não é necessário o tick exato da reabertura. Entrar com 15 minutos de atraso ainda compensa, com 30 minutos de atraso ainda compensa, e o efeito desaparece aos 45.
  • A reabertura semanal NÃO faz parte disso. O domingo registra +1,11 bps com t = 0,88 — indistinguível do ruído — contra +3,90 bps e t = 8,32 para as reaberturas diárias. É por isso queo InpSkipMonday existe e tem como valor padrão “true”.

Entradas e por que são o que são

Entrada Significado
InpEntryHour A hora do servidor na qual ocorre a reabertura. O uso da hora do servidor é deliberado: o relógio deste broker segue o horário de verão dos EUA, de modo que a reabertura ocorre em uma hora fixa do servidor durante todo o ano, enquanto um gatilho baseado em UTC sofreria um deslocamento de uma hora duas vezes por ano.
InpEntryWindowMin A entrada só é permitida dentro desse intervalo de minutos da hora.
InpHoldHours Número de horas de espera antes do fechamento na hora marcada.
InpSkipMonday Ignorar a reabertura semanal. Consulte os valores de domingo acima.
InpLots Lote fixo. Sem escalonamento, em hipótese alguma.
InpStopAtrMult Stop = este valor × a amplitude média por hora. Padrão 2,0, e não 1,5 como na primeira versão — veja abaixo.
InpRangeBars Barras H1 na unidade de amplitude média. 480 corresponde a cerca de 20 sessões.
InpMaxSpreadPts Recusa a entrada se o spread for pior do que este valor.

Sobre o multiplicador do stop. Com o custo corrigido, 1,5× resulta em +1,60 bps (t 3,42), enquanto 2,0× resulta em +1,91 (t 4,07) e é atingido em 1,3% das negociações, em vez de 2,6%. Um spread mais amplo continua melhorando — e o stop permanece, porque “remover o stop e o backtest melhorar” é exatamente o raciocínio que faz uma estratégia martingale parecer lucrativa. O stop é o que limita um evento de cauda; o tempo de saída limita o restante.

Teste isso antes de acreditar em qualquer uma das afirmações acima

E teste comcada tick com base em ticks reais. Em outro código meu, as mesmas regras no mesmo período produziram −15.627 com modelagem em barras de 1 minuto e +79.000 com ticks reais. Um backtest que não especifica seu modo de modelagem não está informando o que mediu.

Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/77060

Any Indicator Alert - alerts, push notifications and multi-timeframe for any custom indicator, no source code needed Any Indicator Alert - alerts, push notifications and multi-timeframe for any custom indicator, no source code needed

Anexe-o a um gráfico, digite o nome de qualquer indicador personalizado e ele irá alertá-lo com base nos próprios buffers desse indicador — por meio de uma janela pop-up, som, notificação push no seu celular ou e-mail. Ele lê o indicador por meio do iCustom, portanto, não é necessário o código-fonte: basta um arquivo .ex5 compilado que você tenha baixado. Ele também pode ler esse indicador a partir de um período de tempo superior e verifica novamente as barras fechadas para informar se o indicador se repinta ou se apenas apresenta atraso. Ele abre no modo EXPLORE, que lista todos os buffers que o indicador possui e o que há em cada um deles, pois “qual buffer contém o sinal” é a dúvida que impede a maioria das pessoas de usar o iCustom.

SuperTrend TV EA SuperTrend TV EA

Um Expert Advisor que opera com o indicador SuperTrend TV por meio do iCustom apenas em barras fechadas, acompanhado de um relatório de auditoria que comprova que todas as operações correspondem a um sinal e que nenhum sinal foi perdido

Trade Excursion Report: MFE and MAE of every closed trade, to CSV Trade Excursion Report: MFE and MAE of every closed trade, to CSV

Exporta uma linha CSV por operação encerrada com os números que um extrato bancário não apresenta: o melhor lucro não realizado que a operação apresentou (MFE), a pior perda não realizada que ela suportou (MAE), quanto do MFE foi efetivamente mantido, quantas barras ela abrangeu e por quanto tempo foi mantida. A mesma métrica do indicador Trade Excursion, gravada em um arquivo em vez de exibida graficamente, pois as perguntas que valem a pena fazer sobre esses dados são aquelas que um gráfico não consegue responder: a taxa de captura depende da hora de entrada? As operações que eu fecho antecipadamente são as que eu mantenho por mais tempo? As operações com prejuízo às segundas-feiras atingem um MAE diferente das de sexta-feira? Basta uma tabela dinâmica para responder a essas perguntas, uma vez que o arquivo CSV esteja disponível. A saída é separada por ponto-e-vírgula com uma linha de cabeçalho, no formato MQL5\Files; abre em qualquer planilha. Limite da medição: as excursões são calculadas a partir das máximas e mínimas das barras no período de tempo escolhido; o trajeto dentro de uma barra é desconhecido. A coluna de barras informa a resolução obtida por cada operação, e o resumo conta as operações de barra única separadamente, em vez de calcular a média delas.

CGoldSymbol - find the broker's gold and size the position correctly on it CGoldSymbol - find the broker's gold and size the position correctly on it

Detecta o símbolo “gold”, independentemente do nome que a corretora lhe dê, lê as especificações do contrato diretamente do terminal em vez de presumí-las e converte um risco na moeda da conta em um tamanho de lote adequado para essa corretora.