Mais uma vez, sobre multithreading - página 2

 
Renat:

O que é multithreading no MetaTrader 5:

Basta clicar no teste para obter instantaneamente 5.743 agentes/CPU's para trabalhar e executar 381.468 passagens no optimizador em 6 minutos. Cada passe demorava entre 1 e 2 segundos a correr. Se eu tivesse feito o teste no meu computador com 8 núcleos, teria passado 800 a 1600 minutos em vez de 6 minutos (381468 / 8 = 47683 segundos = 794 minutos).

E para além de carregar no botão Start, não tive de fazer mais nada. Alguns skynet levantaram-se, sincronizaram sozinhos toda a história gráfica necessária, distribuíram a tarefa a milhares de computadores em todo o mundo e trabalharam-nos em massa.

Bem-vindo à realidade...

Renat, então porque acha que o âmbito da multi-tarefa está limitado ao seu testador? O que pensa, que o utilizador não tem o direito de implementar a auto-optimização directamente no seu algoritmo? Ele tem de fazer o seu testador? E se ele usar a sua própria rede neural? Não seja tão unilateral nas coisas. E, ao mesmo tempo, acusar-me de não compreender nada. Basta ver a situação do seu próprio campanário, e não se preocupa com o resto, tal como eu o entendo.

 
meat:

O quê, pensa que o utilizador não tem o direito de implementar a auto-optimização directamente no seu algoritmo? Ele tem de fazer o seu testador? E se ele usar a sua própria rede neural lá? Não julgue as coisas de forma tão unilateral.

Qual é o problema de o fazer agora?
 
meat:

Renat, então porque pensa que o âmbito da multi-tarefa está limitado ao seu testador? O que, na sua opinião, o utilizador não tem o direito de implementar a auto-optimização directamente no seu algoritmo? Ele tem de fazer o seu testador? E se ele usar a sua própria rede neural? Não seja tão unilateral nas coisas. E, ao mesmo tempo, acusar-me de não compreender nada. Basta ver a situação do seu próprio campanário, e não se preocupa com o resto, tal como eu o entendo.

Tenho 11 anos de constante reflexão, trabalho e responsabilidade sobre esta língua.

Portanto, para o jardim-de-infância. Se quiser especificamente multithreading dentro da MQL5, é melhor usar ou OpenCL ou DLL. Para compreender o nível de elaboração neste assunto, ver a compilação de código C++ directamente do MetaEditor e ficheiros DLL de drag&drop do navegador para o código MQL5.

 

Quando a "MQL5 - rede neural em GPU" for implementada, o preço deste projecto será elevado. Nas primeiras fases será difícil, e isto é o início, para que no futuro se procurem falhas.

Mais ainda, com a ajuda do testador pode agora resolver problemas de qualquer complexidade.

 
Renat:

Tenho 11 anos de constante reflexão, trabalho e responsabilidade sobre esta língua.

Portanto, para o jardim-de-infância. Se quiser especificamente multithreading dentro da MQL5, deve usar OpenCL ou DLL. Para compreender o nível de elaboração também neste assunto, ver a compilação de código C++ directamente do MetaEditor e ficheiros DLL de arrastar e largar do Navigator para o código MQL5.

Destaquei a frase-chave. Na verdade era disso que se tratava desde o início. Por isso talvez devesse ter lido as minhas mensagens com cuidado primeiro, em vez de ser mal-educado e de se tornar pessoal sem compreensão. Parece estranho ver um comportamento tão rude de alguém que representa o rosto da empresa.

 
TheXpert:
Qual é o problema de o fazer agora?
Estamos a falar de cálculos multi-tarefas.
 
meat:

Destaquei a frase-chave. Na verdade, era exactamente disso que eu estava a falar desde o início. Por isso talvez devesse ter lido os meus posts com atenção primeiro, em vez de rudeza e personalidades. Parece estranho ver um comportamento tão rude de alguém que representa o rosto da empresa.

Foi-lhe dito sobre OpenCL e DLL logo no primeiro comentário, mas continuou a dizer que sabia melhor e que os programadores eram tão medíocres que não podiam fazer isto e aquilo, acrescentou coisas desnecessárias, etc.

 
meat:

O quê, pensa que o utilizador não tem o direito de implementar a auto-optimização directamente no seu algoritmo? Ele tem de fazer o seu testador? E se ele usar a sua própria rede neural lá? Não seja tão unilateral nas coisas. E, ao mesmo tempo, acusar-me de não compreender nada. Basta ver a situação do seu próprio campanário, e não se preocupa com o resto, tal como eu o entendo.

A auto-auto-optimização também pode ser organizada sob a forma de guiões separados, combinados através de canais nomeados. Mas é muito mais fácil usar o testador interno e escrever a sua própria função de aptidão no OnTester().
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
Реализация взаимодействия между клиентскими терминалами MetaTrader 5 при помощи именованных каналов (Named Pipes)
  • 2010.07.01
  • investeo
  • www.mql5.com
Данная статья знакомит с реализацией межпроцессного взаимодействия между терминалами MetaTrader 5 посредством именованных каналов (named pipes). Предложен класс CNamedPipes, реализующий возможность использования именованных каналов. Рассмотрен тиковый индикатор для тестирования связи между двумя клиентскими терминалами MetaTrader 5 и измерения общей пропускной способности системы. Представленный метод взаимодействия оказался пригодным для отправки котировок в реальном времени.
 
Renat:

Foi-lhe respondido imediatamente, mas continuou a afirmar que sabia melhor e que os criadores são tão medíocres que não conseguiam fazer isto e aquilo, adições desnecessárias, etc.


E qual foi a sua resposta? Começou a dizer-me que tem um grande terminal e testador, trabalhando em múltiplas correntes. E ainda não disse uma palavra sobre o seu terminal. Referia-me a outra coisa: multi-tarefas em código MQL. Quando um algoritmo pode ser dividido em várias partes, e cada parte é executada em paralelo. E você, sem sequer ter compreendido o ponto, começa a ser mal-educado. Bem, como vejo, com esta abordagem não vale a pena discutir nada de construtivo, por isso não vale a pena continuar a discussão.

 
meat:

E qual foi a sua resposta? Começou a dizer-me que tem um grande terminal e testador, trabalhando em múltiplas correntes. E ainda não disse uma palavra sobre o seu terminal. Referia-me a outra coisa: multi-tarefas em código MQL. Quando um algoritmo pode ser dividido em várias partes, e cada parte é executada em paralelo. E você, sem sequer ter compreendido o assunto, começa a ser mal-educado. Bem, como vejo, com tal abordagem não vale a pena falar de qualquer ideia construtiva, por isso não vale a pena continuar a discussão.

Recomendo que releia o seu post original, prestando atenção a todos os seus epítetos, e depois vá abaixo para as respostas.

As respostas soaram calmamente, com perguntas suaves "Para paralelizar cálculos de qualquer coisa, é preciso primeiro perceber", deu respostas e explicou o actual estado de coisas "o que deve realmente ser paralelizado".

Mas, em vez de uma curva de aprendizagem rápida, você vomitou mais disparates e pôs os cães em cima de nós. O resultado foi uma resposta dura.

Razão: