Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 20
- Avaliação:
- Publicado:
-
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
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
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
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
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.