Galeria de UIs escritas em MQL - página 71

 
Edgar Akhmadeev #:

A demanda existe. O fato de a maioria estar em silêncio sobre o assunto é normal. As pessoas estão esperando. Até o momento, nenhum grande projeto foi concluído. É sempre difícil realizá-lo sozinho e sem financiamento. Até agora, conheço apenas um projeto que foi levado a um resultado bem-sucedido por uma pessoa: "VLADIK BRUTAL" no Steam.

É uma tática estranha ficar à espreita e esperar. :) Se as pessoas estivessem ativamente envolvidas, eu não teria mudado as prioridades e muitas coisas já teriam sido concluídas. No entanto, as principais tarefas que listei serão concluídas independentemente da demanda, pois vejo isso como um interesse pessoal. Mas não sou ganancioso, vou compartilhar com a comunidade). Só não definirei um prazo claro.

Espero concluir tudo antes do ano novo. Você precisa de tabelas dinâmicas, certo? Com certeza serão.

Também gostaria de lembrá-lo de que as tabelas regulares estão disponíveis na montagem e funcionam bem. E agora, graças à presença do gerenciamento da interface do programa, trabalhar com elas se tornou fácil.

Há muitas lições sobre a linguagem de marcação, pois o material é coberto por menos da metade, mas, novamente, quem precisa disso? Eu? Eu já sei tudo. Quem mais? Não ouço nenhuma solicitação. Mas compor cada lição é um grande trabalho, e cada postagem de tutorial é um mini-artigo. É muito trabalho.

Estas são as perguntas. Acho que você consegue entender. Mas as tabelas e os gráficos dinâmicos fazem muito sentido prático e aparecerão.
 
Реter Konow #:
É uma tática estranha ficar à espreita e esperar. :) Se as pessoas estivessem participando ativamente, eu não mudaria minhas prioridades

Vou falar apenas por mim. Não sei como ajudar. Como participar ativamente. Tudo o que eu podia fazer, eu fiz. Escrevi o código com base nas informações que tenho, criei uma bela interface. Então, estou preso em um problema irreal do qual preciso pessoalmente. E não posso estudar lições sobre como usar o que ainda não posso colocar em prática. Eu sou um praticante. É por isso que definitivamente precisarei de aulas quando chegar a hora.

Botões de controle diferentes e botões para controlar coisas diferentes - pessoalmente, precisarei deles mais tarde. Quando eu chegar lá. Por enquanto, estou esperando por uma interface para uma exibição conveniente e bonita. E não temos pressa, por isso não o pressionamos com os cotovelos. Entendemos que você não está trabalhando em serviço. Fiz uma pergunta não por estar com pressa, mas porque eles desapareceram em algum lugar.

 
Edgar Akhmadeev #:

Só falarei por mim. Não sei como ajudar. Como participar ativamente. Fiz tudo o que podia. Escrevi o código de acordo com as informações disponíveis e obtive uma bela interface. Então, estou preso ao que preciso pessoalmente. E não posso estudar lições sobre como usar o que ainda não posso colocar em prática. Eu sou um praticante. É por isso que definitivamente precisarei de aulas quando chegar a hora.

Botões de controle diferentes e botões para controlar coisas diferentes - pessoalmente, precisarei deles mais tarde. Quando eu chegar lá. Por enquanto, estou esperando por uma interface para uma exibição conveniente e bonita. E não temos pressa, por isso não o pressionamos com os cotovelos. Entendemos que você não está trabalhando em serviço. Fiz uma pergunta não porque estou com pressa, mas porque desapareci em algum lugar.

Como percebi, você ainda não sabe de qual interface seu aplicativo precisa. :) Não posso ajudá-lo nisso. Mas quando você descobrir, faça um esboço. É provável que os recursos existentes do meu designer e do mecanismo sejam mais do que suficientes. Como eu disse, há apenas três coisas principais faltando:

1. Tabelas dinâmicas são tabelas com número ilimitado de linhas.

2. Tabelas geradas - são tabelas coletadas pela função "on the fly". Elas são necessárias para a saída rápida, a classificação e a comparação de parâmetros individuais extraídos de grandes conjuntos de dados.

3. gráficos científicos como os do R. Eles já estão implementados na biblioteca CGraphic padrão e na biblioteca de Anatoly Kozharsky. Eu serei implementado de minha própria maneira.

Todo o resto está em meu construtor. Pense no que seu aplicativo precisa. Faça um esboço. Publique-o aqui. Eu o ajudarei a escrever o código Kib.
 
Edgar Akhmadeev #:

... Escrevi o código de acordo com as informações disponíveis e obtive uma bela interface. Depois, me deparei com o que eu precisava pessoalmente. ....

A propósito, o que não funcionava na época, já funciona, porque há um controle de software da interface. Lembro-me de que na época não podíamos enviar parâmetros para suas tabelas. Agora é fácil fazer isso. Sua tabela pode funcionar e gerar valores. Isso já está implementado no mecanismo. Isso é apenas para registro.
 

Não só sei o que é necessário, como também fiz o modelo. Aqui está seu código e layout corrigidos https://www.mql5.com/ru/forum/467909/page37#comment_53863397.

Preciso exatamente (em seus termos) de tabelas dinâmicas e geradas. Ou seja, adicionar programaticamente um número indefinido de linhas (bem, limitado pelo senso comum), preenchê-las, rolar convenientemente a tabela em si, não o quadro com ela. Para que os cabeçalhos permaneçam no lugar.

Isso é o que você tem em mãos até agora. É por isso que estou sentado em silêncio e esperando. Eu mesmo não tenho pressa e não tenho pressa para você. Vou viver para sempre. Até agora, está funcionando.

Галерея UI написанных на MQL - Попробуйте разместить иконку и текст на элементах.
Галерея UI написанных на MQL - Попробуйте разместить иконку и текст на элементах.
  • 2024.07.02
  • Реter Konow
  • www.mql5.com
По сути есть только два варианта расположения текста и иконки внутри кнопок. Можно использовать как шаблон для любых элементов с текстом и иконкой. Если кнопки размещаются во фрейме командой TOP - все отлично. а название кнопки портится Баг или мой фейл - не пойму
 
Edgar Akhmadeev #:

Eu não só sei o que é necessário, como também fiz o modelo. Aqui está seu código e layout corrigidos https://www.mql5.com/ru/forum/467909/page37#comment_53863397

Preciso exatamente (em seus termos) de tabelas dinâmicas e geradas. Ou seja, adicionar programaticamente um número indefinido de linhas (bem, limitado pelo senso comum), preenchê-las, rolar convenientemente a tabela em si, não o quadro com ela. Para manter os cabeçalhos no lugar.

Isso é o que você tem em mãos até agora. É por isso que estou sentado em silêncio e esperando. Eu mesmo não tenho pressa, e não tenho pressa para você. Vou viver para sempre. Até agora, está funcionando.

Entendo... Bem, as tabelas dinâmicas e geradas são necessárias para mim e para você, então elas serão. Tentarei concluir todas as tarefas antes do Ano Novo.
 
Qual é o ponto de partida?
 
hini #:
Até onde chegamos?
Atualmente, está sendo formado o conceito de tabelas dinâmicas e geradas, que devem trabalhar em conjunto com gráficos científicos. A tarefa não é apenas desenvolver a parte técnica - tabelas e gráficos - mas também encontrar formas de "simbiose" dessas ferramentas no trabalho analítico.

Aqui está um exemplo:

1. Os dados são carregados em um arquivo. Algoritmos especiais os distribuem em tabelas, linhas e colunas.

2. O usuário acessa a tabela desejada, seleciona uma linha e clica duas vezes para desenhar uma curva ou um diagrama usando os números dessa linha ou coluna.

3. O usuário seleciona a célula desejada da tabela e chama a construção de uma nova tabela pelos dados associados ao parâmetro localizado nela.

4. O usuário passa de tabelas para gráficos, de gráficos para tabelas e gráficos de pizza, "on the fly", montando ou gerando novas tabelas e gráficos. Com simples cliques e inserindo parâmetros na janela, ele pode visualizar os dados de diferentes "ângulos" e em diferentes combinações dentro das representações gráficas que aparecem.

Tudo isso, sem dúvida, contribui para o trabalho produtivo e para a busca de relações e padrões nos dados.

Planejo implementar um sistema conveniente de trabalho dinâmico com dados por meio de tabelas, gráficos e quadros.

O mais importante é o conceito correto. Ele é o que leva mais tempo para ser formado. A implementação técnica leva relativamente pouco tempo.

P.S. Além disso, estou preparando meu primeiro artigo sobre o construtor de GUI e a linguagem de marcação.

P.S.S. Quando o artigo for publicado, prepararei uma versão para a base de código, para que aqueles que desejarem possam fazer o download do construtor.

Em geral, há muito trabalho).

 
Vou lhe dizer quais são meus planos.

1. Criar um livro-texto sobre a linguagem de marcação.

É necessário reunir um livro-texto completo sobre a linguagem de marcação, organizando-o em partes, capítulos e tópicos.


2. Escrever artigos sobre o construtor de interfaces e a linguagem KIB.

Divida o material didático finalizado em uma série de artigos, adicionando códigos, diagramas, imagens e gifs a eles.

3. Antes de publicar o primeiro artigo, abra um tópico especializado com o único objetivo de publicar modelos de código KIB. Aqueles que desejarem poderão criar facilmente uma GUI pegando emprestadas partes já prontas. Eles também poderão adicionar códigos KIB, se desejarem.

4. Antes do lançamento do primeiro artigo, publique a versão mais recente do construtor na base de código.

Nessa página, publique um manual de instruções detalhado com imagens, gifs e vídeos.

5. No início do artigo, forneça um link para o construtor e as instruções de instalação e, no final do artigo, deixe um link para a ramificação com os modelos. Assim, imediatamente após a leitura do artigo, os leitores poderão tentar criar uma interface gráfica, pegando emprestadas janelas prontas ou grupos de elementos. Em seguida, à medida que forem aprendendo, farão experimentos e melhorarão suas interfaces.

6. Na minha opinião, para que os leitores compreendam facilmente e dominem rapidamente os recursos do designer, é necessário simplificar a apresentação do material e fornecer artigos com muitas imagens informativas, esquemas legíveis e códigos comentados. É por isso que escreverei artigos com o lema "quanto mais simples, melhor", buscando a simplicidade lógica e a clareza de significado.

7. Antes de publicar o construtor na base de código, preciso fazer alguns trabalhos preliminares:

a) Traduzir os nomes dos catálogos para o inglês.

b) Remover completamente todos os avisos que aparecem ao compilar o construtor (não o código KIB).

c) Corrigir alguns bugs notados anteriormente no trabalho dos controles.

d) Colocar um "stub" para depurar o código do usuário conectado ao mecanismo.

De acordo com a ideia, o mecanismo será desligado durante a depuração, bastando comentar sua linha, e somente o núcleo gráfico e as funções de invólucro do arquivo de serviço "UIDATA.mqh" permanecerão conectados. Todas as outras funções regulares do construtor serão definidas como "funções vazias", servindo como "rolhas" em um arquivo especial. A linha desse arquivo será descomentada pelo usuário antes da depuração.

Esse é o conceito, mas ainda não o verifiquei na prática.


8. O primeiro artigo será o mais difícil para mim, pois exigirá que eu descreva brevemente todo o construtor e a linguagem de marcação, dando aos leitores uma ideia completa de sua finalidade, recursos e dispositivo. Além disso, listarei o conteúdo de artigos futuros e acrescentarei um esquema claro de distribuição futura de material educacional.

Em minha opinião, os artigos são lições e, portanto, a apresentação do material deve ser pedagógica.

P.S. Inicialmente, decidi me basear no exemplo dos conhecidos artigos sobre interface gráfica de Anatoly Kozharsky - Easy and Fast library. Para mim, esse é o resultado mais completo que revela esse assunto. Ao mesmo tempo, reconheço respeitosamente a contribuição de outros autores talentosos que fizeram tentativas dignas de criar bibliotecas de IU antes e depois dos artigos de Anatoly. Gostaria de mencionar especialmente Dmitry Fedoseev e Artem Trishkin.

E assim, tendo aceitado os artigos de Anatoly como um padrão de qualidade e um indicador de profissionalismo, "experimentei" o formato deles em meu próprio material e fui forçado a reconhecer a incompatibilidade. As diferenças de abordagens e realizações são muito grandes. Portanto, terei que encontrar e aperfeiçoar meu estilo, sem esquecer de atender ao alto padrão autoral estabelecido por meus antecessores.
 

O processo de trabalho no editor visual da GUI no MT5.

4 anos atrás:

(Clique na imagem).


P.S. O contexto da demonstração está descrito na postagem abaixo.