Trabalhar com janelas personalizadas no cTrader Algo
Neste artigo e no vídeo correspondente, falaremos sobre como trabalhar com janelas personalizadas ao criar algoritmos do cTrader. Explicaremos o que são janelas personalizadas e como podem ser usadas nos seus cBots e indicadores. Também criaremos um exemplo de uso de uma janela personalizada num cBot.
Exemplo de janela personalizada
Vamos agora mudar para a aplicação Algo para ver uma ilustração de como as janelas personalizadas podem ser utilizadas nos seus cBots e indicadores. Vamos criar um novo indicador; nele, iremos simplesmente utilizar um exemplo pronto a usar da documentação.
Copie e cole o código da documentação na janela do editor de código. Em seguida, crie o indicador e adicione uma instância do mesmo a um gráfico.
Assim que o indicador for adicionado, deveremos ver uma janela personalizada a aparecer. Esta janela contém um formulário complexo que apresenta informações sobre o símbolo ao qual o gráfico do indicador está atualmente associado. Este formulário é um ótimo exemplo do que pode ser alcançado com janelas personalizadas.
Janelas personalizadas vs. WPF e WinForms
Existem algumas razões pelas quais a utilização de janelas personalizadas é melhor do que utilizar WPF ou WinForms. As janelas personalizadas do cTrader já vêm com um estilo nativo que corresponde à aparência e sensação do cTrader. As janelas WinForms e WPF requerem um tratamento especial e competências de programação avançadas, uma vez que são executadas em threads diferentes. Tais problemas são totalmente evitados ao utilizar as janelas personalizadas do cTrader.
Criar uma janela personalizada
Vamos agora demonstrar como pode criar uma janela personalizada do zero. Vamos criar um novo indicador e chamá-lo "Exemplo de Janela Personalizada". Neste exemplo, vamos adicionar uma janela personalizada e, em seguida, adicionar alguns controlos personalizados à mesma. A própria janela será declarada no método Initialize(); para mostrar a janela, iremos chamar o método window.Show().
1 2 3 4 5 6 7 8 9 10 11 | |
Para ver a janela, podemos criar o indicador e adicioná-lo a um gráfico.
Adicionar controlos a uma janela
Vamos agora adicionar controlos personalizados à janela. Estes controlos terão a forma de uma caixa de texto contendo algum texto.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Vamos reconstruir o indicador e adicionar uma nova instância para ver como são os nossos controlos personalizados.
Modificar as propriedades da janela
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Vamos mais uma vez reconstruir o nosso indicador e adicionar uma instância. Agora a nossa área de janela é um retângulo com uma largura e altura de 800 pixels.
A próxima alteração será adicionar um intervalo no qual a janela pode ser redimensionada. Para tal, vamos adicionar os parâmetros MinHeight, MaxHeight, MinWidth e MaxWidth.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Vamos reconstruir o indicador e, depois de adicionar uma instância, podemos tentar alterar o seu tamanho. O redimensionamento só é possível dentro do intervalo de largura e altura especificado.
Também podemos alterar a cor de fundo de uma janela e torná-la não redimensionável.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Depois de realizarmos as ações habituais (reconstruir o indicador e adicionar uma instância), a janela deverá ter uma nova cor de fundo.
Resumo
As janelas personalizadas do cTrader são flexíveis e podem ser personalizadas em alto grau. Além das propriedades mencionadas acima, também pode alterar as margens e o preenchimento, a visibilidade das janelas personalizadas e se estão ativas sob determinadas condições. As janelas personalizadas do cTrader também expõem métodos para as mostrar, ocultar e fechar, além de vários outros manipuladores de eventos.