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

 
Yuriy Asaulenko:

Você também não tem uma ligação de retorno na MT. Tudo é feito por eventos pré-definidos na MT, que de uma vez por todas.

Você ainda enviará eventos terminais para a DLL, e não importa onde você os processa, em MT ou na DLL.

Aqui está um exemplo da minha interface de conexão:

Aqui é onde tudo já está pensado.

Arquivos anexados:
 
Реter Konow:

Mesmo que se imagine que a verificação constante das mensagens da Sharp por parte da aplicação ICL não seja um incômodo, desenvolver um formato de interação é uma tarefa muito volumosa.

Esta tarefa inclui o seguinte:

1. Com uma organização de memória compartilhada.

2. Implementando a interação das três partes.

3. Teste sincrônico dos três lados (Sharp, DLL, aplicação MT).

Muito demorado.


No meu caso, o usuário recebe o arquivo e o preenche. E a conexão funciona.

Não invente isso. Há 8 anos faço isto com diferentes terminais e idiomas, do VBA Excel ao C++, e não sei nada sobre estes problemas).

Já escrevi que seu sistema provavelmente é aplicável por vendedores do mercado ou pessoas que não sejam MT-MQL e que não sabem nada sobre a existência de outras linguagens e ambientes de programação.

 
Yuriy Asaulenko:

Não invente isso. Há 8 anos faço isto com diferentes terminais e idiomas, do VBA Excel ao C++, e não sei nada sobre estes problemas).

Dê uma olhada no meu arquivo de conexão.

O usuário simplesmente conecta este arquivo através de uma linha em linha com seu EA. E a preenche. E tudo funciona...
 
Yuriy Asaulenko:

...

Já escrevi que seu sistema provavelmente é aplicável por vendedores do Marketplace ou pessoas que não o MT-MQL que não sabem nada sobre a existência de outras linguagens e ambientes de programação.

A propósito, estou atualmente desenvolvendo conexões GUI com um EA em um testador. A GUI estará em um gráfico e a EA estará funcionando no testador. E eles se comunicarão uns com os outros. O Consultor Especialista no Teste de Estratégia estará respondendo às ações do usuário em um gráfico diferente que irá interagir com a GUI.

Eu tenho trabalhado em como implementar isto.

Mas para estabelecer a comunicação entre o Assessor Especialista no Testador de Estratégia e o Sharp através da DLL... Não parece ser possível.

 
Реter Konow:

E para estabelecer uma ligação entre a EA no testador e Sharpe através da DLL... Eu não acho que você possa.

Parece ser possível. O testador, tanto quanto sei, não impõe nenhuma restrição à comunicação com DLL. No entanto, eu mesmo ainda não tentei.

 
Yuriy Asaulenko:

Parece ser possível. O testador, tanto quanto sei, não impõe nenhuma restrição à comunicação com a DLL. No entanto, eu mesmo ainda não tentei.

Sim, é possível, é claro. Basta garantir que as DLLs sejam permitidas e pronto.
 
Bem, talvez você possa... No entanto, a escolha "masoquista" em direção à Sharp é muito óbvia). Há tantas nuances... Mas quando você não tem escolha, é claro.
 
Реter Konow:
Bem, talvez você possa... No entanto, a escolha "masoquista" para Sharp é muito óbvia)))) Há tantas nuances aí... Mas quando não há escolha, é claro.

Eu nunca escrevi em Sharpe, eu não tinha interesse, mas há cerca de 5 anos eu usei Delphi para conectar .dll com botões e formulários, tudo funcionava sem problemas, e eu até escrevi o projeto inteiro em Delphi durante um dia, além disso eu passei meio dia tentando encontrar a razão pela qual os formulários padrão não funcionavam, e quando eu conectei através das janelas do sistema de chamadas tudo estava funcionando corretamente, mas o MT4 era muito lento na época, ele ficava muito lento agora ele voa

não tenho problemas para conectar .dll, sincronizar com mutex padrão - iniciar uma thread para conectar ao terminal e isso é tudo, então tudo vai por si só - separadamente um formulário em .dll, separadamente MT ninguém está esperando por ninguém

SZS: note, que Delphi não é prático o suficiente para criar .dll, mas o que estava à mão (o que eu estava sentado na época) que eu usei )))


No máximo seria interessante unificar o processo de criação gráfica, talvez fosse uma inclusão universal onde você pudesse comentar botões/diálogos, etc.

 
Peter, não pense que sua abordagem é algo novo.
A que truques os programadores foram quando não havia OOP.
Você mesmo pode vê-lo, em programas em C com código aberto.
Todas as suas afirmações de que o OOP pode e não pode ter nada a ver com a realidade.
Você não está falando de OOP, você está falando de suas idéias sobre OOP. É surpreendente que você fale tanto sobre isso,
mas você não se preocupou em descobrir o que é.

Por alguma razão você negligencia a experiência de outras pessoas, e ela existe.
É bobagem estudar por quatro meses o que você pode encontrar no google e ainda aprender muito mais.
Ao inventar sua própria linguagem de marcação, por alguma razão você não quis estudar também a experiência de outras pessoas.
Por exemplo, existe um Designer QT gratuito. Ela usa uma linguagem de marcação baseada em XML.
Delphi, C++ Builder também usa XML hoje em dia.
Há também o editor de recursos no MS Visusl Studio. Ele permite editar caixas de diálogo e colocá-las em recursos.
Ela também tem sua própria linguagem de marcação.

A partir de minha experiência com a GUI:
Uma boa biblioteca GUI torna o trabalho com a GUI muito mais fácil.
Um editor visual acrescenta muito pouca conveniência. Na verdade, é apenas uma isca para iniciantes.
Os idiomas de marcação são normalmente usados para armazenar formulários no editor visual. Sem ela, uma linguagem de marcação é desnecessária.
Com uma biblioteca, é mais fácil para um programador criar uma interface gráfica em código do que usar uma linguagem de marcação.
Eu acho que você está impondo sua linguagem de marcação porque quer esconder o código.

 
Igor Makanu:

Você pode sugerir um construtor gratuito de GUI que permita escrever o código MQL para gráficos?

Eu quero fazer algo semelhante ao Delphi Drag-and-Drop, mas não encontrei um construtor de GUI livre, que permitisse inserir o código MQL.

Os construtores de GUI são feitos para uma biblioteca gráfica específica. Se houvesse um construtor de GUI para MQL, ele estaria aqui.

Razão: