Criação de uma GUI para MQLs em modo gráfico. - página 9

 
Алексей Барбашин:

Agora você pode simplesmente afiá-lo ))

Essa não é a minha opção. ))
 
Alexey Volchanskiy:

Ainda nada além de emoções.

Alexey, o que você quer ? você está um pouco confuso depois de acontecimentos felizes :-)

Sem emoção - seu amor por .net é um produto de gestão e emoção. Você tem que pesar os prós e os contras antes de tomar uma tecnologia e você corre como lemmings.
c .netprojeto requer 2 conchas para desenvolvimento ( MT e VS) . Um netleneck C++ pode ser criado sem deixar o ambiente comum.
A depuração da dll .net rodando a partir do MT5, com crescente proteção contra depuração e rastreamento, pode ser fácil, mas eu pessoalmente não preciso dela.

Sobreposições em chamadas DLL, elas também estão lá. E no modelo de tempo de execução, quando a MT está apenas fazendo uma votação, eles são muito sensíveis. Se executarmos o cálculo de hipercubos em DLL, não vamos notar isso.
Mas se você está constantemente pesquisando o formulário, se o maldito usuário pressionou OK, então uh-oh. E em seus escalpadores favoritos :-)

 
Alexey Volchanskiy:

Ainda nada além de emoção.

A ignorância dá confiança. Mas o conhecimento multiplica a tristeza.

Você vai se opor quando:
- uma máquina virtual alienígena e enorme entra em seu processo
- seqüestra seus trechos e pensa que é o mestre
- comer muita memória e pensar que é o mestre
- comandam um monte de fios que têm vida própria.
- O coletor de lixo cresce ao máximo e limita seu processo.
- todas as chamadas através do invólucro

Por uma questão de engano, é definitivamente exagerado.
 
Maxim Kuznetsov:

Alexei, o que você quer ? você está um pouco confuso depois dos eventos alegres :-)

Sem emoção - seu amor por .net é um produto de gestão e emoção. Você tem que pesar os prós e os contras antes de tomar uma tecnologia e você corre como lemmings.
Um projeto .net requer 2 conchas para desenvolvimento ( MT e VS) . O netleneck C++ pode ser desenvolvido sem deixar o ambiente comum.
A depuração .net dll, lançada da MT5, com crescente proteção contra depuração e rastreamento, pode ser fácil, mas eu pessoalmente não preciso dela.

Sobreposições em chamadas DLL, elas também estão lá. E no modelo em tempo de execução, quando a MT está apenas em votação, eles são muito sensíveis. Se executarmos o cálculo do hipercubo em DLL, não vamos notar.
Mas se você está constantemente pesquisando o formulário, se o maldito usuário pressionou OK, então uh-oh. E em seus escalpadores favoritos :-)

Maxim, no que diz respeito ao feedback, não faz diferença se você usa rede ou C++. Por exemplo, você implementou uma GUI na Tcl. Afinal de contas, você também tem um problema de feedback. Não depende do ambiente de desenvolvimento. Se você tentar hospedar a GUI em um gráfico, o mesmo problema surgirá com a renderização. Não é como se houvesse qualquer discussão sobre o desempenho na linha. É basicamente uma questão de gosto.

 
Renat Fatkhullin:
A ignorância dá confiança. Mas o conhecimento multiplica a tristeza.

Você se importaria quando:
- uma máquina virtual alienígena e enorme entra em seu processo
- seqüestra seus trechos e pensa que é o mestre
- devora muita memória e pensa que é o mestre
- comandam um monte de fios que têm vida própria.
- O coletor de lixo cresce ao máximo e limita seu processo.
- todas as chamadas através do invólucro

Por uma questão de engano, é definitivamente um exagero.

Renat, já que você "entrou" no assunto, você pode me dizer como implementar feedback entre aplicações de terceiros, não importa em que ambiente esteja escrito, mesmo com C++, com MT.

 
Алексей Барбашин:

Renat, já que você "entrou" no assunto, poderia me dizer como implementar o feedback entre uma aplicação de terceiros, não importa em que ambiente esteja escrito, mesmo que seja C++, com MT.

Você não tem. Mesmo dentro da MT, tudo é apenas por eventos MQ pré-definidos.
Então, que diferença isso faz? Não tem.
 
Yuriy Asaulenko:
Não há como. Mesmo dentro da MT, tudo é apenas por pré-definição. Eventos MQ.
Então, que diferença isso faz? Não tem.

Bem, em MT é mais fácil, através de eventos. Se ocorrer um evento, executamos o comando, se não houver nenhum evento, descansamos. E a utilização de um temporizador para enganar uma aplicação externa, não importa no que esteja escrito, não é muito conveniente. Além disso, ao contrário da rede, a MT não tem roscas. O temporizador, assim como os eventos, acontecem todos em uma única linha, o que impõe as restrições correspondentes. Se fosse possível chamar o mesmo OnChartEvent de fora, muitas questões poderiam ser resolvidas. Basicamente, não entendo por que existe uma proibição de chamar este método. Afinal de contas, a MT intercepta eventos ambientais: movimento do mouse, cliques do teclado ou do mouse... Assim, nesse sentido, os eventos interagem com o enrolamento, então não está claro porque um evento do usuário não pode ser roteado lá também. Seria um feiticeiro universal.

 
Sondagens unidirecionais de µl, pips, arquivos ou solicitações na web.

Não podemos usar chamadas diretas ao contrário. Embora possamos acrescentar um método como OnExternal com parâmetros, mas precisamos pensar sobre o canal de transferência.

Pode ser:
- um callbucket com parâmetros, registrado na dll
- chamado mutex como gatilador
- mensagem do windows para PostMessage

 
Алексей Барбашин:

Bem, em MT é mais fácil, através de eventos. Se um evento vier, nós executamos o comando, se não houver evento, nós descansamos. Mas não é muito conveniente puxar timidamente uma aplicação externa, não importa no que esteja escrito. Além disso, ao contrário da rede, a MT não tem roscas. Tanto o timer quanto os eventos acontecem em uma única linha, o que impõe as restrições correspondentes.

Bem, meu ponto é que as aplicações externas têm a mesma funcionalidade, não diferindo dos programas de MT, no que diz respeito aos eventos de MT.
 
Por que você parou na Dotnet para fazer gosma?

Formulários simples podem ser feitos facilmente em C++ e em outros idiomas. E não haverá problemas de interface e perda de recursos.

E na MQL5 é absolutamente fácil fazer interfaces em um idioma nativo.