Programação assíncrona e multi-tarefa em MQL - página 27

 
Roman:

Comecei a reler o assunto e Igor já escreveu sobre ele.

Era isso que eu estava tentando dizer, Yuri, que temos que alocar a memória e registrar o fio.
Igor diz que você precisa alocar e registrar, enquanto você diz que não precisa fazer nada.
É por isso que minha cabeça está girando. O resultado é um impasse.

Igor estudou na universidade como um especialista, e ele deveria entender mais sobre isso do que nós, autodidatas.
Inicialmente eu estava inclinado à mesma idéia: alocar memória e inicializar.
Inicialização e alocação de memória é a chave para corrigir a codificação, pois ela não deve fluir e não deve ser lixo.

Então minha pergunta a Igor, por favor explique como fazer isso em C++?
Não em palavras, com um exemplo, eu não entendo nada ))

Cara, você não pode multitarefa sobre os profissionais, sem ofensa. Mas se você estiver com humor de ferro, continue lendo e descobrindo:

https://en.cppreference.com/w/cpp/thread

https://en.cppreference.com/w/cpp/atomic

Se você precisar de um exemplo, veja abaixo:

https://en.cppreference.com/w/cpp/thread/thread/join

https://en.cppreference.com/w/cpp/thread/async


Mais uma vez, este é um assunto delicado, fácil de se irritar (por exemplo, desenganchar de um fio gerado que destrói mais tarde do que os dados compartilhados, otimização do compilador se não houver uma sincronização adequada e muito mais).

 
Реter Konow:
Proponho usar o indicador como um portador de GUI, e recursos - para comunicação com o Consultor Especialista. Além disso, no MT4, você será capaz de controlar o Expert Advisor tester a partir de um gráfico padrão usando o painel. Todos os controles funcionarão, não apenas os botões. Você poderá enviar texto e qualquer outra coisa para a EA em teste. Já o testei. Tudo funciona.

Peter, você não entende.

UM assessor. Ela também funciona adicionalmente em um gráfico invisível, somente no modo de agente. Não há eventos acontecendo com o agente. Ou seja, o recurso não pode chamá-lo, o temporizador não inicia, os carrapatos não vêm.

Se o indicador aciona um EA, estas são duas entidades.

O Expert Advisor pode criar quantos desses agentes quiser. Cada um deles se torna um fio separado.

 
Andrey Barinov:

Peter, você não entende.

UM assessor. Ela também funciona adicionalmente em um gráfico invisível, somente no modo de agente. Não há eventos acontecendo com o agente. Ou seja, o recurso não pode chamá-lo, o temporizador não inicia, os carrapatos não vêm.

Se o indicador aciona um EA, estas são duas entidades.

O Expert Advisor pode criar quantos desses agentes quiser. Cada um deles se torna um fio separado.

Você quer dizer como se lançar em modo de agente em uma carta invisível? Isso é algo novo. Eu não sabia disso.
 
Реter Konow:
Você quer dizer, como correr em modo de agente em uma carta invisível? Isso é algo novo. Eu não sabia disso.

GráficoAplicarTemplate

 
Andrey Barinov:

Peter, você não entende.

...

Um consultor pode ter quantos desses agentes quiser. Cada um deles sai como um fluxo separado.

Então já existe multithreading? E ninguém aqui sabe sobre isso?

 
Andrey Barinov:

UM assessor. Ela também funciona sozinha.

O testador KB tem o mesmo princípio. Você foi capaz de resolver o problema de depuração de uma EA desse tipo? Quando o testador foi feito com base neste princípio, o inconveniente de escrevê-lo foi a dificuldade de depuração.

 
Реter Konow:

Acontece então que a multi-tarefa já existe? E ninguém aqui sabe sobre isso?

Isto é chamado de "não ouvir seu interlocutor".

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Programação assíncrona e multi-tarefa em MQL

fxsaber, 2019.07.25 12:16

Somente dentro da MQL, ambas as tarefas são resolvidas através da execução automática de uma contagem EA.

 
Реter Konow:

Isso significa que já existe multithreading? E ninguém aqui sabe sobre isso?

É um truque bem conhecido. Não foi inventado por mim. Foi inventado por mim em um fórum há vários anos.

 
fxsaber:

O testador CB tem o mesmo princípio. Você foi capaz de resolver o problema de depuração de uma EA desse tipo? Quando eu estava fazendo o testador sobre este princípio, o inconveniente de escrevê-lo era a dificuldade de depuração.

Imprimir, ASSERIR, DEBUG. Não uso o depurador padrão neste caso...

 
Andrey Barinov:

É um truque bem conhecido. Não foi inventado por mim. Consegui isso em um fórum há alguns anos.

Quão bem esta "multithreading" corresponde a sua noção? É possível dividir as tarefas de um programa em linhas usando esta função?