GUI de origem popular. Testes beta abertos. - página 17

 
Maxim Kuznetsov:

veja como funciona o gui state-less (google it) .

if (Button("hello world!")) {

printf("fck u self");

}

desenha e reage ao mesmo tempo ao botão

Funciona para você.
 
Preciso exibir o gráfico de forma agradável. Você pode me ajudar :) ? Os gráficos podem ser de estrutura diferente.
Há vários tipos de nós, os nós podem se ligar a vários outros nós. O gráfico tem uma direção, que seja de baixo para cima. Para um nó na parte inferior o link tem uma certa posição, para um nó na parte superior ele não tem.
O gráfico pode não estar totalmente construído. Por exemplo, se for suposto haver dois nós de crianças (que está abaixo), mas há apenas um. Há também uma lista de quais nós estão no topo, ou melhor, quais nós são o resultado. Também poderia ser que várias partes do gráfico estejam na mesma estrutura.
Se você quiser ajudar, eu lhe enviarei o código necessário para construir/editar/leitura e escrever em um arquivo com tal estrutura, e um arquivo de teste.
Tenha em mente que os nós podem não caber na janela.

E você pode usar o código fonte para seus próprios fins.
 

Há algum tempo, quando vi o que Peter estava fazendo, cheguei à conclusão de que ele estava um pouco nervoso; lembro-me até de escrever em seu blog um apelo para acordar, parar de programar e voltar a negociar na CME.

Mas tendo assistido a este tópico hoje e obtido os resultados da visualização da criação da GUI, entendi que tudo tem seu lugar sob o sol, e nada é novo sob a lua - a atividade de Peter só precisa ser entendida. Isto é, nem todos podem seguir o caminho do guerreiro/samurai/gladiador de comércio e lutar ativamente nas arenas financeiras - os modernos campos de batalha por recursos. Alguém tem que ser um artesão, fazendo armas, armaduras, escudos para guerreiros; alguém tem que ser um poeta, compondo marchas militares. Sempre foi assim, ainda é assim agora.

"Crie uma grande GUI para aplicações mql sem o trabalho duro" - isso é legal, Peter é um grande encaixe no assunto de criar conjuntos de ferramentas gráficas de shell. Dito isto, o profissionalismo é uma qualidade adquirida; todos nascemos com zero e ganhamos experiência, portanto aqui também - haverá um investimento de esforço e tempo, tudo renderá maestria.

 

Então Peter, continue trabalhando, eu te apoio!

Tudo parece ser bastante lógico em seu construtor, mas ainda não vi uma coisa - como emitir as informações que mudam periodicamente de sua classe para o painel (por exemplo, emitir os dados sobre os valores atuais das paradas de arrasto no conjunto de posições, que são recalculadas a cada hora).

Uma das características mais importantes do editor Xaml-editor VisualStudio, com o qual você está comparando seu construtor, é a possibilidade de definir a ligação de valores de elementos gráficos para programar campos de classe, e no KIB você também precisa implementar algo assim.

 
Aliaksandr Hryshyn:
É necessário exibir um gráfico bonito. Você pode ajudar :) ? Os gráficos podem ser estruturas diferentes.
Há vários tipos de nós, os nós podem se ligar a vários outros nós. O gráfico tem uma direção, que seja de baixo para cima. Para um nó na parte inferior o link tem uma certa posição, para um nó na parte superior ele não tem.
O gráfico pode não estar totalmente construído. Por exemplo, se for suposto haver dois nós de crianças (que está abaixo), mas há apenas um. Há também uma lista de quais nós estão no topo, ou melhor, quais são o resultado. Também poderia ser que várias partes do gráfico estejam na mesma estrutura.
Se você quiser ajudar, eu lhe enviarei o código necessário para construir/editar/leitura e escrever em um arquivo com tal estrutura, e um arquivo de teste.
Tenha em mente que os nós podem não caber na janela.

E você pode usar o código fonte para seus próprios fins.
Sinceramente, eu não entendo do que estamos falando. Seria bom ter um exemplo claro.

Talvez eu possa ajudar com minhas ferramentas. O código adicional pode não ser útil. Mas, mostre-me um exemplo de um gráfico desse tipo.
 
Sergey Lebedev:

Então Peter, continue trabalhando, eu te apoio!

Tudo parece ser bastante lógico em seu construtor, mas ainda não vi uma coisa - como emitir as informações que mudam periodicamente de sua classe para o painel (por exemplo, emitir os dados sobre os valores atuais das paradas de arrasto no conjunto de posições, que são recalculadas a cada hora). Uma das características importantes do VisualStudio Xaml-editor, com a qual você está comparando seu projetista, é a possibilidade de estabelecer a ligação de valores de elementos gráficos para os campos de classe do programa, e no KIB você também precisa implementar algo assim.

Há. A ligação entre a interface e o código foi trabalhada. No dia 3 do dia postarei a nova versão do editor. Espero ter o mínimo pronto a tempo para que você tente criar um painel simples e conectá-lo.


 
OK, vou ficar de olho em uma nova versão e experimentá-la então.
 
Реter Konow:
Sinceramente, eu não entendo do que estamos falando. Seria bom ter um exemplo claro.

Posso ser capaz de ajudar com minhas próprias ferramentas. O código extra pode não ser útil. Mas, mostre-me um exemplo de um gráfico desse tipo.

Este exemplo não é como eu quero que ele seja, ele mostra a estrutura e algumas características. Os nós também têm algumas informações, que também devem ser mostradas. Direção de baixo para cima.

Não há como sem código adicional, ele permite ler este tipo de estrutura a partir de um arquivo de texto e obter todas as informações sobre ele.

Eu gostaria de uma boa apresentação desta estrutura.

Ela precisa de criação dinâmica de elementos gráficos.

Aqui está um exemplo de um arquivo com este tipo de estrutura, você pode ver para que serve a estrutura :)

STRATEGY
-4:nt_params{order_type=0,my_param=0.44,my_param_X=0.99}//Произвольные параметры с целыми или вещественными типами
-3:indicator_buffers{"indicator_info\Indicator_buffers.csv";"indicator_info\Indicator_buffers1.csv"}//Список индикаторных буферов
-2:caching_start_stop{0.000;0.000}//Точное время кэширования
-1:top{"Test_strategy";"EURUSD";1}=>(6;5)//Узлы на вершине
0:nt_indicator{5968578018034117959}
1:nt_indicator{-410628611689884171}
2:nt_indicator{-1246810214216173993}
3:nt_indicator{947789783589059285}
4:nt_function{signal_ind_down()}=>(3;1;8)
5:nt_function{signal_ind_up()}=>(2;0;8)
6:nt_function{and()}=>(4;7)
7:nt_function{not()}=>(5)
8:nt_const{1}
9:nt_function{and()}=>(10;)//Узел с пустым дочерним узлом и он не связан с основным графом
10:nt_const{10}
STRATEGY_END

Este arquivo pode ser lido por código e há fácil acesso a todos os parâmetros da estrutura. Nem todos os tipos de nós estão representados aqui.

Não insisto na ajuda, sei que ela requer algum esforço. É necessário algum problema de posicionamento ótimo do nó, não é bom colocar por lista devido à má legibilidade da estrutura.

A estrutura não tem laços. Para atravessar o gráfico você pode usar a recursividade a partir de um vértice, marque os nós onde você já esteve. Então você escolhe qualquer nó não marcado e define todos os nós a partir dele, que formam outro gráfico não conectado ao principal, etc.

Eu mesmo poderia ter feito tudo isso, mas agora há muitas outras tarefas.

 
Aliaksandr Hryshyn:

Tal exemplo, não reflete como eu quero que ele seja, mostra a estrutura e algumas das características. Os nós também têm algumas informações a mostrar. Direção de baixo para cima.

Não há como sem código adicional, ele permite ler este tipo de estrutura a partir de um arquivo de texto e obter todas as informações sobre ele.

Eu gostaria de uma boa apresentação desta estrutura.

Ela precisa de criação dinâmica de elementos gráficos.

Aqui está um exemplo de um arquivo com este tipo de estrutura, você pode ver para que serve a estrutura :)

Este arquivo pode ser lido por código e há fácil acesso a todos os parâmetros da estrutura. Nem todos os tipos de nós estão representados aqui.

Não insisto na ajuda, sei que ela requer algum esforço. É necessário algum problema de posicionamento ótimo do nó, não é bom colocar por lista devido à má legibilidade da estrutura.

A estrutura não tem laços. Para atravessar o gráfico você pode usar a recursividade a partir de um vértice, marque os nós onde você já esteve. Então você escolhe qualquer nó não marcado e define todos os nós a partir dele, que formam outro gráfico não conectado ao principal, etc.

Poderia ter feito tudo isso sozinho, só que agora existem muitas outras tarefas.

Esclareça, esses "nós" são objetos dinâmicos e interativos, assim como as ligações entre eles? Não é apenas um esquema, não é? Se assim for, vi algo semelhante no Strategy Graphics Builder de Andrey Barinov. É isso que você quer dizer?

A lógica de ligações entre nós é imutável e segue regras predefinidas, ou é um esquema frívolo criado a seu gosto?

Em princípio, não vejo nada de difícil para criá-lo. É um trabalho de dois ou três dias. Eu não preciso de nenhum código extra. Eu mesmo o farei, depois das coisas principais que são uma prioridade neste momento.

 
Sergey Lebedev:

Algum tempo atrás, quando vi o que Peter estava fazendo, cheguei à conclusão de que ele estava um pouco nervoso; lembro-me até mesmo de ter feito um blog sobre ele, exortando-o a acordar, parar de programar e voltar a negociar na CME.

...

"Criar uma grande GUI para aplicações mql sem nenhum trabalho árduo" - isso é legal, Peter está bem dentro do assunto de criar ferramentas GUI. Ao mesmo tempo, o profissionalismo é uma qualidade adquirida; todos nascemos com zero e ganhamos experiência, assim como aqui - haverá um investimento de esforço e tempo, tudo isso dará uma maestria.

Está tudo bem!

A questão é se você precisa usar toda essa beleza.

Esse é o lado negativo de todas as bibliotecas gráficas que foram oferecidas neste fórum - elas não aumentaram a receita, não a eficiência de sua aquisição.

Sim, é lindo. Sim, é fácil de usar.

Mas qual é o objetivo de tudo isso?

Aqueles que utilizam robôs não precisam de recursos gráficos.

Aqueles que comercializam manualmente podem ficar satisfeitos com alguns botões e linhas de relatório.

Interface gráfica em cache - quem pode precisar dela?

Além de aumentar a altura de Peter, não consigo ver nenhum outro uso para esta biblioteca gráfica. É uma coisa muito útil, no entanto.