Galeria de UIs escritas em MQL - página 11

 
Janis Ozols #:

Minhas interfaces eram, obviamente, muito mais simples. Não usei o Canvas, mas simplesmente construí um painel com controles padrão. Para evitar que outros objetos no gráfico transparecessem, eu redesenhava todos os componentes da janela uma vez por minuto:

Aqui, Controls é uma matriz que contém os nomes dos componentes.

Se estivermos falando de brilho visual, não é disso que estou falando, estou falando de cliques. Lá, até mesmo as configurações do indicador às vezes são clicadas dessa forma.

 

Prometi revelar a tecnologia da linguagem de marcação KIB do autor.

Uma pequena introdução...

Entre os leitores deste tópico, provavelmente haverá pessoas que entendem profundamente a tecnologia da linguagem de marcação, mas direi imediatamente que não sou uma dessas pessoas. Ou seja, nunca li ou sequer procurei informações sobre esse tópico. O mesmo se aplica ao editor visual. Não vou me gabar de ignorância, apenas constatar um fato. Entretanto, como cheguei a eles?

Intuição? Aleatoriedade?

De uma forma estranha, primeiro criei uma linguagem de marcação e depois percebi que era isso que ela era. Percebi isso alguns anos depois, quando já havia desenvolvido soluções específicas para a linguagem e o interpretador.

Sim, as soluções foram escritas de forma não padronizada, e por isso fui criticado de todas as formas possíveis, mas... elas funcionavam bem. Não, não sem bugs... Todos nós temos bugs. Mas minhas soluções sempre tiveram espaço para desenvolvimento e escalonamento, e a abordagem não chegou a um beco sem saída, como era de se esperar... e como fui profetizado.... e como eu havia sido profetizado.

Não estou dizendo que essas eram as melhores soluções, não..... mas elas eram ótimas para um único desenvolvedor sem formação em programação, que está fixado na meta e na liberdade absoluta de estereótipos. E também tem a coragem de se opor a qualquer pessoa.

Arrogante? Sim.

Você percebeu que estava errado e que tudo deveria ter sido feito de forma diferente? - Não. Porque tudo estava funcionando e evoluindo.

Ele acha que estava certo? Na verdade, não.

Comercial e profissionalmente, ele estava errado.

Criativamente, ele estava certo.


Por estar errado comercial e profissionalmente, ele sofreu porque não se tornou um programador de verdade. E porque eu não ganhei nada com as vendas.

Por estar certo do ponto de vista criativo, tive uma experiência única ao desenvolver e testar minha abordagem.

E o que custa mais?

Depende da fase da vida... Mas vamos deixar essa pergunta de lado. Ela não tem uma resposta inequívoca.


Aqui está um paradoxo: depois que criei uma linguagem de marcação, aprendi como ela funciona...


Foi o seguinte:

Primeiro, aprendi sobre o MT4 e a linguagem MQL.

Depois, aprendi sobre os objetos gráficos dessa linguagem.

Depois, comecei a criá-los...

...e a primeira coisa que fiz foi criar um visual studio...

...a primeira coisa que fiz.

Quase tão logo aprendi a escrever minhas primeiras linhas de código.

Aqui está a prova: 2014.



E os gráficos substituíram completamente em meu cérebro o algotrading, que eu estava planejando fazer. Por que isso aconteceu, eu não sei.

Mas não se trata de gráficos. Havia outra ideia por trás disso...

Mais sobre isso abaixo...

 

Já que surgiu um tópico tão interessante, deixe-me falar sobre o assunto.

Há muito tempo, comecei a usar o EasyAndFastGUI, mas ele parou de funcionar. Depois, deixou de receber suporte, parou de compilar e funcionar, tornou-se obsoleto....

Agora surge novamente a necessidade de uma GUI para mim (não vendo software). Durante esse período, houve algumas séries de artigos com GUI, mas muito volumosas e integradas a mecanismos de negociação, de modo que é difícil separar as abelhas do mel. Ou descrever o básico, para o desenvolvimento independente.

Preciso de sua opinião - existe uma GUI aberta e gratuita que seja tão funcional quanto a EasyAndFastGUI - botões, edições, guias, gráficos. Baseada em tela.

Para mim, como programador, as GUIs não são um fim em si mesmas, nunca me tornarei seu desenvolvedor. Embora eu tenha feito isso em minha juventude no Windows 1.0

 
Edgar Akhmadeev #:

Já que surgiu um tópico tão interessante, permita-me sair do assunto.

Há muito tempo, comecei a usar o EasyAndFastGUI, mas ele parou de funcionar. Depois, deixou de receber suporte, parou de compilar e funcionar, tornou-se obsoleto....

Agora surge novamente a necessidade de uma GUI para mim (não vendo software). Durante esse período, houve algumas séries de artigos com GUI, mas muito volumosas e integradas a mecanismos de negociação, de modo que é difícil separar as abelhas do mel. Ou descrever o básico, para o autodesenvolvimento.

Preciso de sua opinião - existe uma GUI aberta e gratuita que seja tão funcional quanto a EasyAndFastGUI - botões, edições, guias, gráficos. Baseada em tela.

Para mim, como programador, as GUIs não são um fim em si mesmas, nunca me tornarei seu desenvolvedor. Embora eu tenha feito isso em minha juventude no Windows 1.0

Sim, é exatamente isso que eu tenho. Mas preciso de tempo para refrescar minha memória e lembrar como criei GUIs para as pessoas que entraram em contato comigo.

Há um tópico sobre isso https://www.mql5.com/ru/forum/332043

Краудсорсовый GUI. Открытое бета-тестирование. - Опубликую открытый код конструктора GUI для MQL-программ. Установить советник KIB Ex5 на свободный график.
Краудсорсовый GUI. Открытое бета-тестирование. - Опубликую открытый код конструктора GUI для MQL-программ. Установить советник KIB Ex5 на свободный график.
  • 2020.02.04
  • Реter Konow
  • www.mql5.com
----------------------------------------------------------------------------------------------------------------- СБОРКА - движок GUI в пользовательском приложении. Шаг 5 - проектирование пользовательского GUI В дополнительной ветке. Шаг 6 - сохранение пользовательского GUI Вызвать дабл-кликом на график контекстное меню конструктора
 
Реter Konow #:

Sim, é esse que eu tenho. Mas preciso de tempo para refrescar minha memória e lembrar como criei o shell gráfico dos programas das pessoas que entraram em contato comigo.

Seria bom se você pudesse se motivar a publicar uma biblioteca funcional.

 
Edgar Akhmadeev #:

Preciso de sua opinião - existe uma GUI gratuita de código aberto que seja tão funcional quanto a EasyAndFastGUI - botões, edições, guias, gráficos. Baseado em tela.

Para todos. A todos que testaram GUIs publicadas por vários autores. E até mesmo para os autores.

 

E assim, por trás dos gráficos, havia outra ideia.....

Qual era ela?

Deduzi uma fórmula para uma das ideias parasitas do subconsciente humano:

Encontrar uma supertarefa --> encontrar uma supertarefa --> encontrar uma superresolução --> estágio 1, estágio 2, estágio 3.... estágio n

Em seguida, há uma bifurcação lógica no caminho:

1. Há uma solução --> procurar uma nova supertarefa

2. Não há solução --> fazemos uma escolha:

a) procurar uma nova supertarefa e (registrar a perda no subconsciente)

b) continuar procurando uma solução para a anterior (alimentar-nos com esperança).

Com qualquer escolha, o ciclo se repete.


Vale a pena observar que a supertarefa de um indivíduo não tem relevância vital e existe apenas na percepção subjetiva. É uma invenção da imaginação. Mas a pessoa "infectada" não é capaz de entendê-la. Para seu subconsciente, a supertarefa é real e a solução é absolutamente necessária. Ele gasta energia e dinheiro em sua busca e, como resultado, desperdiça recursos insubstituíveis - tempo e saúde. E dinheiro também.

É muito fácil infectar uma pessoa com uma ideia parasitária se ela tiver uma predisposição desde o início.

De onde vem essa predisposição?

Da imaturidade social. Do fato de que a "criança interior" é mais forte do que o "adulto interior". E então a criança leva a melhor no confronto interno.

Por que o "adulto interno" é mais fraco do que a "criança interna"? - Porque o adulto interior é SOCIALMENTE DESFORMADO no processo de crescimento como indivíduo.

Quem é o culpado? - A sociedade. Eu disse isso antes... A sociedade cria muitos adultos"inaptos" para torná-los "formigas operárias".

Nos adultos "inaptos", a criança interior (que "sente" a incompetência do "adulto interior") está constantemente ligada e sabota os esforços do adulto interior na competição social em prol de suas ambições e prazeres infantis. Por causa disso, essas pessoas são forçadas a aceitar as condições mais desfavoráveis na "barganha com a sociedade" e ... trabalhar onde outros não trabalhariam.

Mas essa é apenas a minha teoria e não a estou impondo.



Devo admitir que, naquele momento, meu subconsciente foi infectado pela ideia-parasita. Sim, sim, o mesmo subconsciente mítico que procurava o "Graal" e a "Utopia" foi ativado quando toquei a "mágica" da programação.

E que ideia surgiu em minha cabeça? - A ideia docubo. Um cubo de propriedades de objetos. Decidi tentar escrever as propriedades de todos os objetos em uma matriz e editá-las "on the fly" em loops. Foi assim que surgiu a ideia do "Kernel-Motor".

O" Kernel" é o"Cube", e o"Engine" são os algoritmos que controlam as propriedades dos objetos no"Cube".

É isso aí. Depois disso, não consegui mais desistir dessa ideia.

Era uma"super solução". Eu precisava de uma"Supertarefa". "Por que não criar um Visual Studio como o VS?", pensei. E assim foi...

Por que, para que, por que - não importava. Havia uma Supertask e havia uma Super Solution.

O resto não importava para a criança interior - ela encontrava novas "ideias-brinquedos" e não havia como detê-la.


Continua abaixo...

 
Реter Konow #:

Aqui está o paradoxo: depois que criei uma linguagem de marcação, aprendi como ela funciona....


Era o seguinte:

Continuarei a partir daqui.

A ideia do "Kernel-Motor" surgiu quase imediatamente com as primeiras linhas de código.

Agora percebo que ela tinha o potencial de criar não apenas uma linguagem de marcação, mas também um editor visual. E isso não exigia quase nenhuma formação adicional em programação. Era necessário apenas o conhecimento mais básico. Teoricamente, eu poderia implementar um editor visual com uma educação primitiva em programação e ele funcionaria bem e com eficiência. No final, foi isso que aconteceu.

Esse paradoxo me lembra o que está acontecendo com a IA atualmente. Não existe IA - isso é o que todos os cientistas de institutos de pesquisa internacionais lhe dirão. Eles pesquisam a inteligência há anos e dificilmente se convencem de que ela consiste em prever a próxima palavra com base em dados vinculados de um modelo estatístico. E se você enfiar um LLM no nariz deles e disser: "Isso não é consciência? Isso não é pensar?!...", você só vai irritá-los e eles o mandarão embora. Mas essa coisa "sem cérebro" está se comunicando com você como um ser humano.....

O que isso diz a você? - Que alguém encontrou umatalho para imitar a "inteligência"....

Comigo acontece o mesmo na programação. Encontrei umatalho para a interface do usuário.

Sem conhecer a OOP, encontrei uma maneira de criar e processar objetos ignorando a complexa ciência da programação. Ao mesmo tempo, a velocidade do código era muito mais rápida do que as interfaces de usuário escritas por profissionais (na mesma linguagem) porque os algoritmos eram extremamente simples e eficientes. Sim, não por cânones e não por padrões..... Assim como o LLM, do ponto de vista da natureza, é uma cópia ridícula (não profissional) da consciência humana... Mas os seres humanos encontraram uma maneira de contornar a dificuldade da natureza na questão de imitar a inteligência...

E eu também.

Meu código quase sempre funcionou muito rápido em comparação com soluções alternativas nesse sentido. Ao mesmo tempo, quase nunca tentei torná-lo mais rápido. Apenas implementei de forma consistente o potencial da "Super Solução" que escolhi no início.

"Desempacotar" a Super Solução sempre garantiu o progresso. Tudo veio facilmente e por si só.


Mas como, tecnicamente, cheguei à linguagem de marcação antes de perceber que a estava criando...?

Sobre este site....

 

Eu defini a mesma supertarefa... er... não me lembro... há cerca de 3 anos, talvez. Para criar um bot de "IA" que criasse estratégias de negociação por conta própria.

Mas eu também tinha o objetivo de que ele ganhasse dinheiro :) Ao mesmo tempo, eu já tinha experiência em negociações bem-sucedidas, mas de outras maneiras.

No final, a tarefa acabou se revelando realmente difícil do ponto de vista arquitetônico. Vi como os chelicks saíram dos trilhos no fórum, e mesmo agora eles saem quando entram no tópico MO :)

 
Edgar Akhmadeev #:

É bom se você se sentir motivado a publicar uma biblioteca funcional.

Se eu estiver, eu o farei. Mas não posso prometer. Farei o melhor que puder.