Você pode fazer algo assim: em uma dll, um array ou dois arrays, um para o nome do objeto e o outro para o tipo de evento.
aqui!
Ainda não chequei, mas se os desenvolvedores têm suporte avançado para C#.Net, então talvez a troca de tipos de dados complexos entre MT5 e .dll funcione , ou seja, estruturas.
Se a troca de estruturas funcionar, a tarefa se torna ainda mais simples e primitiva.
preenchemos a estrutura com OrderProfit,OrderTicket,OrderStoploss.... no tick ...e enviar esta estrutura para uma .dll e receber uma estrutura de resposta do usuário ... Em seguida, o formulário gira as informações visuais por si só, o próprio terminal.
Tag Konow:
E depois criar uma memória TOTAL dentro da .dll.
Com o número crescente de elementos da forma e a complexidade crescente do programa MT5, esta interação torna-se CELESTIALMENTE ocupada e complexa.
Hmmm, o que há de complicado nisso? Você separa a visualização = .dll, separadamente o trabalho de MT
difícil de explicar, você tem alguma idéia da velocidade da troca de dados através da memória? - não estamos falando de cem mil bytes por segundo, nem mesmo de milhões, vários bilhões de bytes por segundo, e você está falando da complexidade do intercâmbio )))))
Conecte a DLL ao aplicativo Windows com um formulário.
Escreva métodos que traduzam eventos de pressão de botões e caixas de seleção em dll.
Escrever métodos que mudam o estado dos botões e caixas de seleção na aplicação da viúva.
Criar memória compartilhada na dll. Para que ao acessar a partir do MT5 a bandeira de mudança de estado para botões e caixas de seleção seja definida. Então o aplicativo Windows acessa a memória compartilhada, lê as bandeiras e as utiliza para conhecer o estado de um ou outro elemento de forma a ser alterado.
Escreva referência cíclica à DLL do cronômetro em MT5 para ler bandeiras de chamadas de função ou inserir texto nos campos.
E se houver centenas de elementos?
Como organizar a memória compartilhada?
E se for necessário mudar não apenas o estado dos elementos pressionados/liberados em uma forma, mas também sua cor (por exemplo, para botões)?
E se for necessário alterar o texto nos campos de entrada de um formulário de forma programática a partir de МТ5?
1. Qual é o problema? É a seleção do tipo de projeto quando você o cria.
2. Como visto no exemplo mostrado por Igor, a conexão é feita em uma linha, você não precisa nem mesmo descrever a importação.
3. um método é escrito uma vez, salvo em um arquivo, e depois é usado em todos os projetos sem nenhuma alteração.
4. Provavelmente, é necessário, mas eles são simples. Nem todos eles serão provavelmente necessários, a interação entre os elementos de controle em c# será diferente, e poderá ser necessário colocar um evento, e haverá 100 botões no formulário.
5. isto está relacionado ao ponto 3.
6. Também uma linha com a abordagem correta no ponto 3.
7 - Você tem todo o poder do C# em suas mãos, cuja escala parece não ter idéia, é enorme.
Sem ofensa, mas desculpe por estar fora do tópico.
Você está pegando o exemplo SIMPLEST e extrapolando a partir dele, pensando que a complexidade não vai aumentar. Isto é um erro.
Mesmo o exemplo mais simples que você deu está errado. Porque além da forma criada, você também precisa criar uma DLL. E depois criar uma memória TOTAL dentro da DLL.
medida que o número de elementos da forma cresce e a funcionalidade do programa no MT5 se torna mais complexa, esta interação se torna CLEALMENTE ocupada e complicada.
O problema é que eu fiz REALMENTE o que estou falando. E conheço a complexidade de organizar a interação entre um programa complexo de MT e um programa complexo de terceiros.
E a abordagem do leigo geralmente é dizer "Isso é fácil... Qual é o problema? É assim, é assim...".
Dê-me um exemplo de conexão do complexo programa MT ao complexo formulário Windows, onde o programa pode:
Alterar os estados dos elementos e o texto de saída para campos de entrada.
Onde o programa pode aceitar texto dos campos do formulário e mudar as cores dos itens.
Onde o programa pode controlar os fenômenos das janelas de formulário (abrir algumas e fechar outras).
Posso dar um exemplo disto que funciona plenamente na MT.
O problema é que eu fiz REALMENTE o que estou falando. E conheço a complexidade de organizar a interação entre um programa complexo de MT e um programa complexo de terceiros.
E a abordagem do leigo geralmente é dizer "Isso é fácil... Qual é o problema? É assim, é assim...".
Dê-me um exemplo de conexão do complexo programa MT ao complexo formulário Windows, onde o programa pode:
Alterar os estados dos elementos e o texto de saída para campos de entrada.
Onde o programa pode aceitar texto dos campos do formulário e mudar as cores dos itens.
Onde o programa pode controlar os fenômenos das janelas de formulário (abrir algumas e fechar outras).
Posso dar um exemplo disto que funciona plenamente na MT.
Se o fizesse, você não estaria fazendo perguntas como hoje. Aprenda c# e faça-o você mesmo. Como conectar dll e métodos de chamada que Igor mostrou ontem.
1. Qual é o problema? É a escolha do tipo de projeto quando você o cria.
2. Como visto no exemplo mostrado por Igor, a conexão é feita em uma linha, mesmo a importação não é descrita.
3. um método é escrito uma vez, salvo em um arquivo, e depois é usado em todos os projetos sem nenhuma alteração.
4. Provavelmente, é necessário, mas eles são simples. Nem todos eles serão provavelmente necessários, a interação entre os elementos de controle em c# será diferente, e poderá ser necessário colocar um evento, e haverá 100 botões no formulário.
5. isto está relacionado ao ponto 3.
6. Também uma linha com a abordagem correta no ponto 3.
7 - Todo o poder do C#, do qual você parece não ter idéia, é enorme em suas mãos.
Dmitry, use o ENORME poder do C# e faça uma aplicação não muito complexa com um formulário, que interage com a aplicação MT e executa estes itens:
Muda os estados dos itens e o texto de saída para oscampos de entrada.
Tira texto dos campos de entrada do formulário e muda as cores dos elementos.
Controla o fenômeno das janelas de formulário (abre algumas e fecha outras).
Igor e você afirma que é muito fácil. Portanto, você vai administrá-lo rapidamente. Fornecerei um análogo completamente em MT. E vamos comparar a qualidade da execução e a complexidade.
Dimitri, use o GRANDE poder do C# e faça uma aplicação não muito complexa com um formulário que interage com a aplicação MT e executa estes itens:
Altera os estados dos itens e o texto de saída para oscampos de entrada.
Tira texto dos campos de entrada do formulário e muda as cores dos itens.
Controla o fenômeno das janelas de formulário (abre algumas e fecha outras).
Igor e você afirma que é muito fácil. Portanto, você vai administrá-lo rapidamente. Fornecerei um análogo completamente em MT. E vamos comparar a qualidade da execução e a complexidade.
Tenho muito o que fazer. Mas você pode continuar com seus delírios.
Você pode fazer algo assim: em uma dll, um array ou dois arrays, um para o nome do objeto e o outro para o tipo de evento.
aqui!
Ainda não chequei, mas se os desenvolvedores têm suporte avançado para C#.Net, então talvez a troca de tipos de dados complexos entre MT5 e .dll funcione , ou seja, estruturas.
Se a troca de estruturas funcionar, a tarefa se torna ainda mais simples e primitiva.
preenchemos a estrutura com OrderProfit,OrderTicket,OrderStoploss.... no tick ...e enviar esta estrutura para uma .dll e receber uma estrutura de resposta do usuário ... Em seguida, o formulário gira as informações visuais por si só, o próprio terminal.
E depois criar uma memória TOTAL dentro da .dll.
Com o número crescente de elementos da forma e a complexidade crescente do programa MT5, esta interação torna-se CELESTIALMENTE ocupada e complexa.
Hmmm, o que há de complicado nisso? Você separa a visualização = .dll, separadamente o trabalho de MT
difícil de explicar, você tem alguma idéia da velocidade da troca de dados através da memória? - não estamos falando de cem mil bytes por segundo, nem mesmo de milhões, vários bilhões de bytes por segundo, e você está falando da complexidade do intercâmbio )))))
OK.
Portanto, é necessário:
E se houver centenas de elementos?
Como organizar a memória compartilhada?
E se for necessário mudar não apenas o estado dos elementos pressionados/liberados em uma forma, mas também sua cor (por exemplo, para botões)?
E se for necessário alterar o texto nos campos de entrada de um formulário de forma programática a partir de МТ5?
1. Qual é o problema? É a seleção do tipo de projeto quando você o cria.
2. Como visto no exemplo mostrado por Igor, a conexão é feita em uma linha, você não precisa nem mesmo descrever a importação.
3. um método é escrito uma vez, salvo em um arquivo, e depois é usado em todos os projetos sem nenhuma alteração.
4. Provavelmente, é necessário, mas eles são simples. Nem todos eles serão provavelmente necessários, a interação entre os elementos de controle em c# será diferente, e poderá ser necessário colocar um evento, e haverá 100 botões no formulário.
5. isto está relacionado ao ponto 3.
6. Também uma linha com a abordagem correta no ponto 3.
7 - Você tem todo o poder do C# em suas mãos, cuja escala parece não ter idéia, é enorme.
Sem ofensa, mas desculpe por estar fora do tópico.
Você está pegando o exemplo SIMPLEST e extrapolando a partir dele, pensando que a complexidade não vai aumentar. Isto é um erro.
Mesmo o exemplo mais simples que você deu está errado. Porque além da forma criada, você também precisa criar uma DLL. E depois criar uma memória TOTAL dentro da DLL.
medida que o número de elementos da forma cresce e a funcionalidade do programa no MT5 se torna mais complexa, esta interação se torna CLEALMENTE ocupada e complicada.
Eu testei tudo isso na prática.
A conclusão é completamente errada.
O problema é que eu fiz REALMENTE o que estou falando. E conheço a complexidade de organizar a interação entre um programa complexo de MT e um programa complexo de terceiros.
E a abordagem do leigo geralmente é dizer "Isso é fácil... Qual é o problema? É assim, é assim...".
Dê-me um exemplo de conexão do complexo programa MT ao complexo formulário Windows, onde o programa pode:
O problema é que eu fiz REALMENTE o que estou falando. E conheço a complexidade de organizar a interação entre um programa complexo de MT e um programa complexo de terceiros.
E a abordagem do leigo geralmente é dizer "Isso é fácil... Qual é o problema? É assim, é assim...".
Dê-me um exemplo de conexão do complexo programa MT ao complexo formulário Windows, onde o programa pode:
Se o fizesse, você não estaria fazendo perguntas como hoje. Aprenda c# e faça-o você mesmo. Como conectar dll e métodos de chamada que Igor mostrou ontem.
1. Qual é o problema? É a escolha do tipo de projeto quando você o cria.
2. Como visto no exemplo mostrado por Igor, a conexão é feita em uma linha, mesmo a importação não é descrita.
3. um método é escrito uma vez, salvo em um arquivo, e depois é usado em todos os projetos sem nenhuma alteração.
4. Provavelmente, é necessário, mas eles são simples. Nem todos eles serão provavelmente necessários, a interação entre os elementos de controle em c# será diferente, e poderá ser necessário colocar um evento, e haverá 100 botões no formulário.
5. isto está relacionado ao ponto 3.
6. Também uma linha com a abordagem correta no ponto 3.
7 - Todo o poder do C#, do qual você parece não ter idéia, é enorme em suas mãos.
Dmitry, use o ENORME poder do C# e faça uma aplicação não muito complexa com um formulário, que interage com a aplicação MT e executa estes itens:
Dimitri, use o GRANDE poder do C# e faça uma aplicação não muito complexa com um formulário que interage com a aplicação MT e executa estes itens:
Tenho muito o que fazer. Mas você pode continuar com seus delírios.
E oh sim, um milagre invisível na programação - para fazer algo, você tem que escrever uma função para fazê-lo.
Eu tenho coisas a fazer. ...
OK, talvez o Igor faça isso então...
OK, talvez o Igor faça isso então...
Igor já mostrou demais. E eu já falei demais.