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

 
Roman:


Aqui está um exemplo de escrita de código assíncrono linear em uma única linha para fins ilustrativos.

CTask *task2   = obj2.CALLBACK_FUNC(DeleteOrdersLimits(Magic));  //Выполняется асинхронно в пуле потоков

isto não vai funcionar:

Igor Makanu:

mas ao usar aplicações multithreaded, controlar esses fios é uma dor de cabeça do desenvolvedor, não verificou a prontidão do cálculo - teve um bug, que aparecerá em algum momento desconhecido

OK, eu tinha o desejo de escrever em um tópico com um nome tão bonito - escrevi, então escrevi... lembrou Dom Quixote e sua eterna luta com moinhos de vento ))))

uma boa equipe de profissionais, eu acho que ainda há algo a falar sobre

 
Yuriy Asaulenko:

....

Por que, hipoteticamente, eu precisaria de sua GUI, etc., se ela pode ser escrita em Sharp ou Python em duas pinceladas? O usuário não se importa com o que está escrito, ele precisa de funcionalidade, não com as especificidades da implementação. Ou seja, um programador não precisa de tais produtos, mas um usuário não se importa em nada, ele se importa com o preço, e é obviamente mais barato e mais funcional em Sharp.

1) Onde você encontrará compradores de seus programas Sharp?

2) Como você irá provar a segurança de seus programas?

3. Você, como um programador experiente, sugere que você não deve usar uma linguagem de aplicação no desenvolvimento do TC, porque Há anos eu não entendo por que.

4. Se você se propõe a fazer um programa híbrido - use a GUI da Sharp, e escreva a lógica no MCL, - tente ligar as tabelas da Sharp ao Expert Advisor. Já se passou meio ano e o artigo mostrando como fazer isso ainda não foi publicado. Suspeito que existem problemas muito sérios. E a GUI no nível do botão - você pode fazer isso com uma biblioteca interna.

Em resumo, sua sugestão de manter a ICL é como sugerir que eu não sei o quê e ir lá, não sei onde, porque eles parecem ser bons alimentos lá....

 
Igor Makanu:

não vai funcionar:

Funciona em C e C++ em uma das bibliotecas ))
Qual é a diferença entre mql e C++ ?
Se os desenvolvedores estivessem dispostos, eles poderiam implementar esta funcionalidade em mql de forma muito realista.
Afinal de contas, a idéia em si vale a pena - tanto mais que estas tecnologias são bem conhecidas.
E o mais provável é que o trabalho sobre os agentes seja implementado de forma semelhante, em um pool de fios.

 
Реter Konow:

1) Onde você vai encontrar compradores de seus programas Sharp?

2) E como você vai provar a segurança desses programas?

3. Você, como um programador experiente, se propõe a recusar o uso de uma linguagem de aplicação no desenvolvimento do TC, porque... Há anos eu não entendo por que.

4. Se você se propõe a fazer um programa híbrido - use a GUI da Sharp, e escreva a lógica no MCL, - tente ligar as tabelas da Sharp ao Expert Advisor. Já se passou meio ano e o artigo mostrando como fazer isso ainda não foi publicado. Suspeito que existem problemas muito sérios. E a GUI no nível do botão, você pode fazer com a biblioteca interna.

Em resumo, sua sugestão de deixar a MKL é como sugerir fazer isso, não sei o quê e ir lá, não sei onde, porque parecem estar se alimentando bem lá....

1. Procure clientes de lado. O Mercado não é o único lugar para encontrá-los.

O Mercado não é um negócio. Para MKs faz parte do negócio).

2., 3. и 4. Para mim, MKL (ou qualquer outro idioma de qualquer terminal) nada mais é do que o idioma de interface entre o terminal e o TS. O TC não deve depender do terminal e deve ser capaz de se conectar a qualquer terminal através de uma interface apropriada.

Eu tenho este conceito desde o início. Tudo isso é bastante realizável, não vejo nenhum problema. Aqui está, digamos, o que o MCL faz com a DLL.


Não há importação de bibliotecas para a MKL. No banco de dados vemos a história da TF 1m e do vidro. Tudo isso é preenchido em tempo real à medida que a peça avança.
 
fiz uma fila de mensagens que processa temporalmente os comandos de entrada e notifica quando a operação está completa. não vejo uma necessidade direta de criar threads separados
 
Yuriy Asaulenko:

1. Procure compradores no exterior. O Mercado não é um negócio.

O Mercado não é um negócio. Aqui, para os MKs, é parte do negócio).

2., 3. и 4. Para mim, MKL (ou qualquer outro idioma de qualquer terminal) nada mais é do que o idioma de interface entre o terminal e o TS. O TC não deve depender do terminal e deve ser capaz de se conectar a qualquer terminal através de uma interface apropriada.

Eu tenho este conceito desde o início. Tudo isso é bastante viável, não vejo nenhum problema.

1 e 2 estão sem resposta. Procurando em um lugar pouco claro e pouco claro como convencer que o programa é seguro... E um manual de 10 páginas para iniciá-lo, como conectar o TC escrito em uma linguagem não aplicada a todos os tipos de plataformas... ))

TC Multi-plataforma - você quer apostar? - Estude para se tornar um programador e você vai ver como!

Você sabe, você me faz rir toda vez. A sério. Um programador-praticante que chama não para usar uma linguagem de aplicação para resolver problemas altamente especializados, mas para resolver esses problemas em línguas UNIVERSAS, em nome da UNIVERSALIDADE! A praticidade e a conveniência resultam simplesmente de cada frase.

 
Yuriy Asaulenko:
....


Não há importação de bibliotecas para a MKL. No banco de dados vemos a história da TF 1m e do vidro. Tudo isso é preenchido em tempo real à medida que a peça avança.

Não. Você está apenas transferindo dados da plataforma uma vez por minuto. Você mostra interação ao vivo e preenche a tabela com dados com mais freqüência do que uma vez por segundo. E os dados têm que ser transferidos em duas direções. Da MKL para o afiado e para trás novamente.

 
Реter Konow:

Você sabe, você me faz rir toda vez. A sério. Um programador-praticante que chama não para usar uma linguagem de aplicação para resolver problemas altamente especializados, mas para resolver esses problemas por métodos UNIVERSAL e em nome da UNIVERSALIDADE! A praticidade e a conveniência brotam apenas de cada frase.

Para ser honesto, eu também me divirto lendo seus posts. Sobre os negócios, em particular.

Não estou chamando ninguém para nada e não estou vendendo nada. Se você quiser usar roscas - use C++/C# e sem problemas. Ou você pode gemer para sempre que não há fios na MKL.

 
Реter Konow:

Não. Você está apenas transferindo dados da plataforma uma vez por minuto. Você mostra interação ao vivo e preenche a tabela com dados com mais freqüência do que uma vez por segundo. E os dados têm que ser transferidos em duas direções. Da MKL para o afiado e para trás novamente.

Uma vez por minuto. Especialista em tecnologia)). Você tem um evento -OnTick, chame a função DLL sobre ele e passe os dados atuais na vela. Isso é tudo).

OK, esqueça.

 
Yuriy Asaulenko:

...

Se você quiser usar roscas, use C++/C# e sem problemas.

Não precisamos deles lá. As capacidades de outros idiomas não contribuirão para o nível de software aqui na comunidade. Haverá híbridos feios e feios para uso pessoal e é só isso.
Razão: