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
A biblioteca MasterWindows - biblioteca para MetaTrader 5
- Visualizações:
- 1281
- Avaliação:
- Publicado:
- 2016.12.27 11:18
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Em "MQL5 para "Novatos": Como Desenhar e Construir Classes de Objetos" temos a descrição de como você pode criar uma interface amigável para seus programas. A implementação de janelas interativas baseia-se no uso da biblioteca das classes MasterWindows.
Fig. 1. Exemplo do uso da biblioteca MasterWindows
A biblioteca do MasterWindows consiste em três classes base:
- A classe base CCell:
//+------------------------------------------------------------------+ //| A base CELL da classe CCell | //+------------------------------------------------------------------+ class CCell { private: protected: bool on_event; // Flag do manipulador de eventos ENUM_OBJECT type; // Tipo de célula public: WinCell Property; // Propriedades da célula string name; // Nome da célula //+---------------------------------------------------------------+ // Construtor de classe void CCell(); virtual // Método: desenhar um objeto void Draw(string m_name, int m_xdelta, int m_ydelta, int m_bsize); virtual // O método do evento manipulado OnChartEvent void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
- A classe base CRow, consiste em células da classe CCell:
//+------------------------------------------------------------------+ //| A base ROW da classe CRow | //+------------------------------------------------------------------+ class CRow { protected: bool on_event; // Flag do manipulador de eventos public: string name; // Nome da linha WinCell Property; // Propriedades da linha //+---------------------------------------------------------------+ // Construtor de classe void CRow(); virtual // Método: desenhe uma linha void Draw(string m_name, int m_xdelta, int m_ydelta, int m_bsize); virtual // O método do evento manipulado OnChartEvent void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
- A classe base CWin, consiste em linhas da classe CRow:
//+------------------------------------------------------------------+ //| A base Window da classe CWin | //+------------------------------------------------------------------+ class CWin { private: void SetXY(int m_corner);// O método para calcular coordenadas protected: bool on_event; // Flag do manipulador de eventos public: string name; // Nome da janela int w_corner; // canto inferior int w_xdelta; // Margem vertical int w_ydelta; // Margem horizontal int w_xpos; // A coordenada X do ponto inferior int w_ypos; // A coordenada Y no ponto inferior int w_bsize; // A largura da janela int w_hsize; // A altura da janela int w_h_corner; // O canto inferior do modo HIDE WinCell Property; // Propriedades da janela //--- CRowType1 STR1; // Declarando a classe "row" CRowType2 STR2; // Declarando a classe "row" CRowType3 STR3; // Declarando a classe "row" CRowType4 STR4; // Declarando a classe "row" CRowType5 STR5; // Declarando a classe "row" CRowType6 STR6; // Declarando a classe "row" //+---------------------------------------------------------------+ // Construtor de classe void CWin(); // Método de obtenção de dados void SetWin(string m_name, int m_xdelta, int m_ydelta, int m_bsize, int m_corner); virtual // Método: desenhar uma janela void Draw(int &MMint[][3], string &MMstr[][3], int count); virtual // O método de processamento do evento OnEventTick void OnEventTick(); virtual // O método do evento manipulado OnChartEvent void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam); };
E dez classes derivadas.
O anexo contém modelos e exemplos de código onde a biblioteca MasterWindows é usada. Todos os códigos foram gerados usando o construtor da janela visual MasterWindows para MQL5. Os programas de teste são modelos, ou seja, eles não possuem funcionalidade (exceto para duas funções: fechar e ocultar a janela).
Você pode usar qualquer número e combinação de linhas em uma janela. A figura mostra as versões básicas de linhas e o cabeçalho da janela:
Fig. 2. Opções e possibilidades básicas da biblioteca
Por exemplo, para o artigo "Testando a Performance do Cálculo das Médias Móveis em MQL5", criamos a seguinte interface usando a biblioteca proposta.
Fig. 3. Um exemplo de utilização da biblioteca MasterWindows
Recomendações:
- Para uma melhor visualização das janelas de interface criadas, use esquemas gráficos com um fundo preto.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/15059
Uma etiqueta de preço é adicionada à direita do preço com parâmetros ajustáveis.
XMA_BBx7_Cloud_DigitTrês Bandas Bollinger são canais baseados em uma média móvel, desenhadas como uma nuvem colorida, com a exibição dos últimos valores como etiquetas de preços e a possibilidade de arredondar os níveis de Bollinger até um número necessário de dígitos.
O indicador XMA_BBx7_Cloud_Digit vem com a opção de seleção do timeframe disponível nos parâmetros de entrada.
XMA_KLx7_CloudThree Keltner são canais baseados em uma média móvel, desenhados como uma nuvem colorida, com a exibição dos últimos valores em etiquetas de preços.