Bibliotecas para MetaTrader 5 com códigos fonte

icon

As bibliotecas representam pequenos subprogramas com funcionalidades implementadas, que posteriormente podem ser usadas no desenvolvimento de outros aplicativos. Uma vez escrita e cuidadosamente testada, a biblioteca permite acelerar o desenvolvimento de novos aplicativos em MQL5. Um exemplo de tal biblioteca é o ALGLIB, que reúne muitas funções de análise numérica.

Os códigos-fonte das bibliotecas podem ser baixados e usados no editor de estratégias de negociação MetaEditor. Eles não podem ser executados independentemente no MetaTrader 5.

Adicionar código
recentes | melhores

Um filtro de notícias do calendário econômico que realmente funciona, inclusive em backtests. Exporte os eventos uma única vez com um script e, em seguida, bloqueie novas entradas relacionadas a notícias, tanto em tempo real quanto no Testador de Estratégias. Corrige o deslocamento de uma hora devido ao horário de verão nos horários históricos do calendário.

Avalia cada tipo de configuração do seu EA em seu próprio registro, em vez de agrupá-los em uma única curva de patrimônio líquido. Ele se reconstrói a partir do histórico de negociações da conta na inicialização, de modo que uma reinicialização não apague o registro. Exibe um limite inferior da pontuação de Wilson ao lado da taxa de ganhos bruta, para que uma sequência de três negociações lucrativas deixe de parecer uma vantagem.

Três proteções de dimensionamento de posição que funcionam de maneiras diferentes; confundir essas proteções é o motivo pelo qual tantas contas vão à falência: - ladder: um contrato por cada X do saldo, sempre aplicada como um limite máximo (CAP), mesmo com dimensionamento manual de lotes; - floor: abaixo do capital mínimo, a conta não opera; é necessário um novo depósito; - breaker: interrompe a operação quando o saldo fica X% abaixo do pico, independentemente do tamanho da conta, e não se reativa automaticamente. O que esta biblioteca resolve e quase nenhuma outra resolve: um depósito não é lucro, e um saque não é perda. O breaker mede a queda em relação ao pico do saldo. Se não for tratado, um depósito feito DURANTE uma queda eleva o saldo e o pico juntos, e a proteção deixa de detectar a queda exatamente quando seria útil. Aqui, depósitos e saques alteram o pico no mesmo valor. O pico é salvo em um arquivo: um limitador que esquece o pico ao reiniciar o terminal não é um limitador. A demonstração simula um depósito no ponto mais baixo de uma queda. Execute-a com o depósito ativado e desativado e compare a coluna “queda”.

O tamanho da posição é calculado a partir de um valor de risco, baseado no valor real do tick do símbolo, no tamanho do tick e no passo de volume, em vez de um valor de pip presumido. O volume é sempre arredondado para baixo e, quando o risco for menor que o lote mínimo, o programa indica isso e informa quanto esse lote realmente custa. Não há estado do terminal, portanto, a lógica de dimensionamento pode ser testada offline — um script de teste com 41 asserções está incluído.

Uma biblioteca com 24 classes MQL5 que monitora o regulamento de uma empresa de negociação por conta própria — drawdown, perda diária, consistência nos pagamentos, número mínimo de dias de negociação, período de restrição de notícias — em relação a qualquer conta e encerra a operação em caso de violação, sem nunca abrir uma posição própria.

Uma classe de cabeçalho MQL5 (.mqh) leve e compatível com OOP para o cálculo preciso do valor do pip e o dimensionamento dinâmico do lote em todos os instrumentos, com conversão automática de taxas entre moedas e normalização de volume pela corretora.

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.

Uma biblioteca para recuperar sinais de proximidade para indicadores baseados em canais

Uma biblioteca pequena e com poucas dependências que traz um tipo `Result`, no estilo do Rust, para o MQL5. As funções retornam um único objeto do tipo “valor ou erro”, em vez de dependerem do estado global de `GetLastError()`, de modo que as falhas são explícitas e impossíveis de ignorar. Inclui ResultValue (tipos de valor) e Result (objetos mantidos por ponteiros), uma estrutura Error, macros de retorno antecipado (TRY, RETURN_ON_ERROR, ...) e callbacks opcionais Then/Match/MapError.

MQTTFive — uma implementação completa do cliente MQTT 5.0 para MQL5. Recursos: • MQTT v5.0 — todos os tipos de pacotes, propriedades, QoS 0/1/2 • TCP + TLS por meio da API nativa de soquetes do MQL5 • Mensagens “Will” com propriedades (will_delay_interval, payload_format, message_expiry) • Alias de tópico para PUBLISH de saída • Controle de fluxo (Receive Maximum) • Opções de assinatura (no_local, retain_as_published, retain_handling) • Payload binário e UTF-8 • Repetição automática para QoS 1/2 • Zero dependências de DLL — MQL5 puro Testado com o Mosquitto 5.0 (15 testes, todos aprovados). Documentação: https://github.com/chekh/MQTTFive Licença: MIT

Biblioteca de proteção de prop firms institucionais para o MetaTrader 5.

Uma biblioteca MQL5 orientada a objetos (.mqh) que substitui os modelos estáticos de risco de varejo pela matemática institucional VAPS (Volatility-Adjusted Position Sizing) e Kelly Criterion.

Função para cálculo do lote a partir da porcentagem do depósito

Detalhes técnicos Usa o OrderSend da MQL5 com TRADE_ACTION_DEAL para fechamento instantâneo do mercado com os preços atuais de compra e venda. Inclui tolerância de slippage (10 pontos), correspondência de volume adequada e preservação do número mágico. Faz um loop para trás através das posições para evitar a mudança de índice durante a execução.

Inclua a classe que valida o ping combinado do terminal + latência de execução antes das operações comerciais. Retorna falso se o limite for excedido.

Monitoramento do consumo de memória.

Se você tiver acesso ao código do Expert Advisor, poderá salvar gráficos de saldo e patrimônio líquido e calcular critérios de otimização adicionais adicionando código adicional dessa biblioteca.

Permitir que o EA determine se há EAs duplicados no gráfico com base em condições.

Função para modificar posições abertas e ordens pendentes

Calculadora de lucros/perdas de posições (ordens abertas)

Função para fechar posições e excluir ordens

Função de cálculo de lote por porcentagem de risco

Uma biblioteca JSON projetada para uso massivo de LLMs e menor latência.

OnTick de vários símbolos.

Calcule a distância de cosseno e a similaridade entre 2 vetores. A distância de cosseno é 1-cosseno_similaridade e a similaridade de cosseno é o produto escalar de dois vetores por suas magnitudes multiplicadas.

Estrutura dos parâmetros de entrada

Biblioteca para controle de sessões de negociação. Na inicialização, ela conta o tempo das sessões de negociação para todos os 7 dias da semana (aos sábados e domingos pode haver negociação de criptomoedas), até 10 sessões por dia. Em seguida, em OnTick(), você pode fazer verificações e, se um tick chegar fora da sessão de negociação, você pode encerrar o processamento posterior.

Compactação de dados de ticks para armazenamento em um formato compacto, até 3,5 vezes mais compacto do que os arquivos .tcs MQ. E para trabalhar rapidamente com eles, pois a leitura de 3 bytes leva menos tempo do que a leitura de 60 bytes da estrutura MqlTick.

Extensão de milissegundos CDateTime + extensão de variável de supervisão datetime

Registra os ticks no modo de ticks reais e os lê no modo matemático, chamando sua estratégia a cada tick.

Classe estática para corrigir a função TimeGMT() durante o teste no testador de estratégias.

Códigos-fonte escritos no processo de desenvolvimento de uma biblioteca para a criação de Expert Advisors em várias moedas, combinando várias instâncias de diferentes estratégias de negociação.

Os códigos-fonte escritos durante o desenvolvimento da biblioteca para a criação de Expert Advisors em várias moedas que combinam muitas instâncias de várias estratégias de negociação.

Trabalhar com dados do teclado

Um simples comentário.

Função para converter a hora do servidor de um fuso horário do corretor para outro.

Esta é uma biblioteca básica para criar e gerenciar grades.

Esse EA é uma demonstração de como você pode implementar sua própria estratégia de Hedging com a ajuda do arquivo include.

Um conjunto de classes para movimentação automática de StopLoss de posições abertas por recuo fixo ou por valores de SAR Parabólico e indicadores de médias móveis, ou por nível de stop de posição especificado.