Minha abordagem. O núcleo é o motor. - página 42

 
Maxim Kuznetsov:

A importação de GUI do EA para o indicador é uma coisa questionável (apenas a arquitetura do MT - os indicadores funcionam no fio da interface e podem retardar TUDO. Para evitar a frenagem dos indicadores em MT, mesmo parte das funções é proibida a eles)

não sobre isso.

Se um usuário miserável pegou um par de indicadores (de terceiros) e um EA e todos eles são GUI com o kernel-engine fora do caminho. O que vai acontecer?

PS/ Peter, você já encontrou pelo menos hospedagem gratuita e colocou lá seu produto. Se a base de código não for boa. A publicação das versões alfa/beta/preview é um par de horas. Você não consegue encontrar tempo?

Bem, antes de tudo, eu vou fazer isso. E eu o farei.

Fui acusado aqui na promoção de produtos, portanto, na verdade, esta é a promoção mais inepta que você pode pensar. Porque se vou começar a ganhar dinheiro, vou ser o último. Quando todos estarão usando a versão gratuita.


Quanto aos indicadores, você está certo. Os gráficos neles são lentos. Especialmente a rolagem. Eu já fiz algumas experiências. O mesmo código no Expert Advisor (rolagem de imagens), não causa lentidão, e no indicador - abranda.

Portanto, o motor pode ser feito como Expert Advisor que trabalhará em qualquer gráfico livre, e a janela pode ser movida entre os gráficos usando botões especiais.

 
Реter Konow:

As abas trocam o kanvas inteiro. A segunda e terceira opção são projetadas para controlar o fenômeno dos elementos sem a necessidade de trocar de canaletas. Ou seja, o mesmo kanvas é redesenhado e cada vez com um conjunto diferente de elementos.

Sobre a conexão, eu não entendo sua idéia. Por que não deveria estar conectado à EA? Como você pode sincronizar parâmetros?

A GUI ou está completamente dentro do Expert Advisor ou está conectada de fora. No caso de conexão externa, é necessário definir as propriedades da conexão e sincronizar os valores dos parâmetros em ambos os lados.

O que aqui é chamado de sincronização de parâmetros? Quais as propriedades que a conexão pode ter aqui?

 
Реter Konow:

Quando todos usarão a versão gratuita.

infelizmente, eles não o farão, seu caminho é apenas correia transportadora, cuja saída é um monte de produtos com gráficos, à cabeça e no processo, apenas você))))

Parece já ter sido discutido que sua abordagem não é compreendida por aqueles que sabem programar e aqueles que não podem programar sem sua ajuda, você tem duas maneiras de fazê-lo:

1. Mercado

2. Freelance

SZZ: Repito minha opinião

a) para negociação, os elementos básicos dos gráficos da entrega MT ou você pode usar exemplos da KB - tudo isso é escrito em linguagens de programação clássicas e não requer tempo adicional para experimentação e depuração, basta pegá-lo e usá-lo. Tudo isso pode ser publicado no Mercado

b) para escrever uma plataforma analítica para uso pessoal, é melhor encontrar soluções prontas e conectá-las à MT (.dll, Pythons, R, Matlab....) , neste caso, é melhor usar gráficos de terceiros, assim a MT só trabalhará com o servidor

 
Dmitry Fedoseev:

O que aqui é chamado de sincronização de parâmetros? Quais as propriedades que a conexão pode ter aqui?

Os controles têm parâmetros.

Por exemplo, caixa de seleção. Tem um parâmetro que tem dois valores possíveis: 1 e 0.

Se um usuário clicar em uma caixa de seleção e colocar um tique, no lado do motor, na matriz de parâmetros dos controles, é colocado 1.

Em seguida, uma mensagem é enviada ao aplicativo do usuário com o número e o valor do parâmetro da caixa de seleção. Depois disso, o novo valor é escrito no análogo dos parâmetros da matriz na aplicação e a função On_Gui_Event() é chamada.

É assim que os valores são sincronizados entre o motor e a aplicação do usuário.


Propriedades de conexão:

Palavras-chave, funções de invólucro que definem valores para elementos da EA, funções de invólucro que abrem/fecham janelas utilizáveis...

Inicialização de uma cópia do conjunto de parâmetros no Expert Advisor.

E é tudo.

 
Igor Makanu:

infelizmente, eles não vão, do seu jeito só uma esteira transportadora com muitos produtos com gráficos, à cabeça e no processo, só você))))

Creio que já discutimos (1)sua abordagem é incompreensível para quem pode programar e para quem não pode programar sem sua ajuda, você tem duas opções:

1. O Mercado

2. Freelance

SZZ: Repito minha opinião

a) para negociação, os elementos básicos dos gráficos da entrega MT ou você pode usar exemplos da KB - tudo isso é escrito em linguagens de programação clássicas e não requer tempo adicional para experimentação e depuração, basta pegá-lo e usá-lo. Tudo isso pode ser publicado no Mercado

b) para escrever uma plataforma analítica para uso pessoal, é melhor encontrar soluções prontas e conectá-las à MT (.dll, Pythons, R, Matlab....) , (2) neste caso, é melhor usar gráficos de terceiros, de forma que a MT lide apenas com o servidor

1) Aqueles que sabem programar não precisarão aprender minha abordagem. Use somente o construtor e conecte a GUI criada à sua aplicação.

2. isto é apenas para profissionais. Já demonstrei que é muito mais difícil utilizar gráficos de terceiros. É uma muleta que requer um alto nível de treinamento. Contra a leveza do meu construtor, ela se torna sem sentido.

Tudo somado, sua solução não é para as massas. O meu é para as massas.

 
Igor Makanu:

Parece já ter sido discutido que sua abordagem é incompreensível para aqueles que sabem programar, e aqueles que não podem programar sem sua ajuda, você tem duas maneiras:

O construtor gráfico na saída cria um motor que carrega arquivos GUI + de conexão do usuário.

Em seguida, o usuário conecta o motor a sua aplicação (como descrito acima), e preenche o arquivo de conexão.

Neste ponto, é tudo.

Ninguém tem que aprender minha abordagem. Somente domine a linguagem fácil do construtor.

 
Реter Konow:

Os controles têm parâmetros.

Por exemplo, caixa de seleção. Tem um parâmetro que tem dois valores possíveis: 1 e 0.

Se o usuário clicar na caixa de seleção e marcar, o lado do motor coloca 1 na matriz de parâmetros de controle.

Em seguida, uma mensagem é enviada ao aplicativo do usuário com o número e o valor do parâmetro da caixa de seleção. Depois disso, o novo valor é escrito no análogo dos parâmetros da matriz na aplicação e a função On_Gui_Event() é chamada.

É assim que os valores são sincronizados entre o motor e a aplicação do usuário.


Propriedades de conexão:

Palavras-chave, funções de invólucro que definem valores para elementos da EA, funções de invólucro que abrem/fecham janelas utilizáveis...

Inicialização de uma cópia do conjunto de parâmetros no Expert Advisor.

E é tudo.

Em que arrays está escrito? Em arrays regulares? Reiniciou o terminal e tudo foi reiniciado...

O usuário pressionou um botão ou uma caixa de seleção - um evento ocorreu e o Expert Advisor reagiu a este evento. O que mais há para sincronizar e por quê? No caso de um reinício separado do Expert Advisor ou indicador com um gui?

Estou muito curioso em saber como reagirá no reinício do terminal. Os parâmetros definidos pelo usuário serão salvos?

 
Dmitry Fedoseev:

Em quais matrizes está escrito? As matrizes normais? Reiniciei o terminal e tudo foi reiniciado...

O usuário pressionou um botão ou uma caixa de seleção - um evento ocorreu, o Expert Advisor reagiu a este evento. O que mais há para sincronizar e por quê? No caso de um reinício separado do Expert Advisor ou indicador com um gui?

Estou muito curioso em saber como reagirá no reinício do terminal. Será que vai salvar os parâmetros definidos pelo usuário?

O reinício do terminal leva ao reinício do Expert Advisor. Não é assim?

Duas matrizes de tipo string (um tipo universal, adequado para armazenar qualquer valor de parâmetro) são sincronizadas.

Os elementos no motor representam os valores de seus parâmetros.


Por exemplo, uma célula de mesa. Armazena o último valor passado a ele em uma matriz de valores de parâmetro.

Esta matriz armazena as propriedades dos parâmetros.

Ou propriedades dos parâmetros deslizantes: Valor mínimo, valor máximo, passo de valor, valor atual.

Quando o usuário alterna um valor da caixa de entrada com botões (+/-), a mudança de valor é feita no motor e depois passada para o EA.

Ou seja, o Expert Advisor não precisa acompanhar as mudanças de valor dos elementos. Ela recebe valores prontos e reage a eles.

 
Dmitry Fedoseev:

...

O usuário pressionou um botão ou uma caixa de seleção - um evento ocorreu, o Expert Advisor reagiu a este evento. O que mais há para sincronizar e por quê? No caso de um reinício separado do Expert Advisor ou indicador com gui?

...

Onde você armazena os valores dos elementos?

Inicialmente, os valores dos elementos podem ser definidos no projetista e também podem ser definidos pelo Assessor Especializado em Iniciativas.

O motor é obrigado a armazenar os valores dos parâmetros dos elementos. Caso contrário, não será capaz de processá-los quando o usuário interagir com os elementos.

Ou seja, quando o cabo deslizante é movido, o valor não mudará no lado do motor, e então, o próprio usuário terá que manter o controle do valor.

Há um grande número de outras nuances.

Por exemplo - sincronização dos valores dos parâmetros entre os elementos. Tem de ser definido a nível de construtor.

(Pergunte a Oleg Papkov. Eu implementei a sincronização de seus elementos. Ele muda a posição do controle deslizante, e nos campos de entrada em diferentes janelas os valores mudam. E tudo isso funciona a nível de motor).

Caso contrário, tudo isso tem que ser feito pelo próprio usuário.

E isto não é para as massas.

 
Реter Konow:

(Pergunte a Oleg Papkov. Eu implementei a sincronização de seus elementos. Ele muda a posição do cursor, e os campos de entrada em diferentes janelas mudam os valores. E tudo isso funciona a nível de motor).


Oh@@t ! Dê-me dois...

Nunca tinha visto isto antes e aqui está de novo :-)

É o milagre dos milagres - quando você muda um, você muda o outro.

Ao menos pense no que você está se vangloriando :-)