Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
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
Bibliotecas

Substituição do CRect e CCanvas (Biblioteca Padrão - vários bugs corrigidos) - biblioteca para MetaTrader 5

Publicado por:
Doerk Hilger
Visualizações:
946
Avaliação:
(24)
Publicado:
2016.01.28 11:16
Atualizado:
2016.11.22 07:33
\MQL5\Include\Controls\ \MQL5\Include\Canvas\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Autor real:

MetaQuotes Software, Correções & Melhorias por Doerk.

Quando você começa a trabalhar em uma base de pixel com a biblioteca padrão, você irá descobrir em breve, que às vezes um pixel aqui e ali está faltando. Este comportamento estranho é causado, principalmente, pelos vários bugs encontrados na classe CRect. O principal problema aqui é que a classe original está falhando em calcular a altura e a largura de um retângulo, que influencia quase todas as classes que derivam de CWnd, porque CWnd é graficamente baseado em CRect.

No CRect original, a largura é calculada como se segue:

largura = x2 - x1

Isto está simplesmente errado. Quando você cria qualquer objeto retangular a partir de 0,0 até 10,10, em seguida, a largura do objeto é de 11 pixels, e não de 10 pixels. Portanto, a resposta certa é

largura = x2 - x1 +1

Em algumas outras classes da biblioteca padrão ela é calculada corretamente, às vezes, mas também nem sempre (ou seja, em CCanvas ao criar e endereçar o recurso na memória, mas não quando for preencher um retângulo). Enfim, é um comportamento incoerente e deve ser corrigido.

Agora é possível comparar dois retângulos usando os operadores normais, como == != >= <= > <

em vez de codificar

if (rect1.left==rect2.left && rect1.top==rect2.rect.top && rect1.right==rect2.rect.right && rect1.bottom==rect2.bottom)

agora você digita apenas

if (rect1==rect2)

Além disso, operadores unários como ++, --, + também são suportados bem como expandir ou inflar um retângulo.

Recomendações:

  • Substitua o Rect.mqh por este arquivo na pasta Controls. Não coloque ele em outra pasta, ele simplesmente não irá funcionar.
  • Substitua o Canvas.mqh pelo arquivo anexado na pasta Canvas. Não coloque ele em outra pasta, ele não irá funcionar.
  • Faça um backup deste arquivo e restaure-o nas novas versões do MetaTrader para a pasta original.
  • Se a MetaQuotes decidir substituir os originais por esses arquivos, eu acho que você será informado.

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

Substituição do CWndContainer Substituição do CWndContainer

Esse arquivo substitui o arquivo original WndContainer.mqh. Ele impede que o gráfico seja afetado quando você clica e segura o mouse dentro de uma área do recipiente.

Exp_FrAMACandle Exp_FrAMACandle

O Expert Advisor Exp_FrAMACandle baseia-se na mudança de cor dos candles do indicador FrAMACandle.

Sentimento Sentimento

Este é um indicador de sentimento do mercado. Ele exibe o sentimento do mercado - de alta ou de baixa.

Indicador de Tendência BSI Indicador de Tendência BSI

Este indicador mostra a condição da tendência usando o Indicador BSI.