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

 
Andrey Pogoreltsev:

A MQL5 tem assincronia, por exemplo,OrderSendAsync.

Quanto à interação com rede ou sistema de arquivos - use o WinAPI, escrevi acima a solução. Acho que tudo está aí para isso. Você pode ler sobre como usar esses métodos no site da Microsoft. O que mais ainda falta descobrir?)

Sim,eu sei daOrderSendAsync, mas é apenas para enviar pedidos.
Eu estava olhando nesta direção
do WinAPI, mas sem saber que os fios não estão disponíveis em mql, os protótipos no inluder eram enganosos.

 
Andrey Pogoreltsev:

A MQL5 tem assíncrono, por exemplo,OrderSendAsync.

A MQL4/5 sempre teve a execução assíncrona e multi-tarefa do código MQLhttps://www.mql5.com/ru/docs/runtime/running.

ou seja, tudo está "fora da caixa", o único problema é o intercâmbio de dados entre programas MQL, não há solução pronta dos desenvolvedores, ou melhor, há apenas variáveis globais do terminal - por isso eles projetaram o intercâmbio de dados - muito inconveniente e ineficiente, mas há soluções prontas para o intercâmbio de dados no QB

Você mencionou acima aprender NS - requer multithreading, bem, sim, mas MT vem apenas com Alglib e eu o usei desde que eu não tenha visto que leva mais de 1-2 segundos para aprender NS, ou seja, por que é rápido? - Se você vai usar pacotes de NS de terceiros - não há opções, você terá que ir além da MT - use dll, então novamente, qual é o problema com o intercâmbio de dados e multithreading? - tudo implementado em uma dll.

havia uma menção a pitões... Não estou falando de velocidade lá, é um ambiente muito específico para o desenvolvimento NS, tudo parece estar lá, mas é impossível usá-lo - espere e espere... o mais divertido é trabalhar com NS em Python! )))

SZZY: Python não tem multithreading em seu sentido normal, mas eu poderia estar errado. Odeio Python - muito barulho e mainstream, tudo funciona fora da caixa, mas ..... mas não é possível trabalhar com um sistema tão lento, as únicas vantagens são uma grande quantidade de código Python pronto e uma grande comunidade na Internet

 

Por que os ponteiros nus são tão inseguros?

Na minha opinião, os desenvolvedores estão mentindo, e a verdadeira razão é evitar puxar da dll. O mais provável é que alguma convenção de chamadas complicadas também tenha sido colocada.

 
Vict:

Por que os ponteiros nus são tão inseguros?

Na minha opinião, os desenvolvedores estão mentindo, e a verdadeira razão é evitar puxar da dll. O mais provável é que alguma convenção de chamadas complicadas também tenha sido colocada.

Como o moderador escreveu, o acesso aos endereços da memória física é negado por razões de segurança.
Através do qual codificadores habilidosos e sem escrúpulos podem ter acesso a qualquer elemento do programa compilado.

 
Roman:

Como o moderador escreveu, o acesso aos endereços da memória física é negado por razões de segurança.
Através do qual codificadores habilidosos e sem escrúpulos podem ter acesso a qualquer elemento do programa compilado.

Acho isso difícil de acreditar. Só não precisamos da competição com idiomas maduros. E todos esses truques, como mudar de tamanho ao recompilar, para o mesmo fim.

 
Vict:

Acho difícil de acreditar. Só não precisa da concorrência de idiomas maduros. E todos esses truques, como mudar de tamanho ao recompilar, para o mesmo fim.

Não, é, lembre-se da descompilação em massa em mql4, os erros acumulados foram levados em conta e a proteção foi implementada.
Em geral, esta é uma escolha de segurança eficaz, em detrimento das chamadas diretas do WinAPI, mas como a dll está aberta, a funcionalidade não muda, a forma de interação muda.
Portanto, você não encontrará nenhuma descompilação ou potencial hacking de seu programa. E isto é bom e muito elogiado para os desenvolvedores.

 
Vict:

Por que os ponteiros nus são tão inseguros?

admin Renat sempre respondeu a tais perguntas que Metaquotes sempre escolhe uma solução que é garantida para fornecer segurança, bem, alternativamente, você recebe um ponteiro na memória e pode injetar um vírus que pode adicionar seu código ao compilado ex4 / ex5


Romano:

às custas de fazer chamadas diretas WinAPI

Qual é o mal? Você tem um programa principal rodando em um processo principal, ele não vai funcionar sem o programa principal - isso está claro?

- Você pode executar um corpo funcional da Python em um processo separado usando WinAPI ?

-..... corpo funcional de Java usando WinAPI ?

-..... function body from WordBASIC using WinAPI ?


como opção, aqui Metakvot deu uma resposta clara - esta funcionalidade não é fornecida, vá mais além nas instâncias: escreva para Python Software, Oracle, Microsoft - explodir seus cérebros ainda

)))

 
Roman:

Não não, é assim mesmo, lembre-se da descompilação generalizada em mql4, os bugs foram levados em conta e a proteção foi implementada.
Em geral, esta é uma escolha de segurança eficaz, em detrimento das chamadas diretas do WinAPI, mas como o acesso à dll é aberto, a funcionalidade não é alterada, a forma de interação muda.
Portanto, você não encontrará nenhuma descompilação ou potencial hacking de seu programa. E isto é bom e respeitoso para os desenvolvedores.

Levados em conta, e podcasts do mercado começaram a se compilar em nativ

Renat

Ele já é fracamente descompilável desde a construção do 500, pois o sistema de segurança foi completamente alterado.

Após a migração para o motor e mercado MQL5, o tema do descompilador morrerá completamente. Quem não sabe - os produtos do Mercado são compilados em 32/64 nativ (montagem pura, sem forma de descompilar) no momento da compra e criptografados para o hardware do comprador.

E descompilar a partir de alguns outros sites metaquot até mesmo rentável - para levar todos para si por descompilações assustadoras e maléficas. Em geral - nada pessoal, apenas negócios.
 
fxsaber:

Somente na MQL, ambas as tarefas são resolvidas pela execução automática de uma contagem EA.

Exatamente, é assim que eu o faço. Entretanto, eu não uso Web-Request, mas a otimização automática - para mim e para a TC League - funciona em pleno vigor. E a seleção é feita em várias passagens, primeiro, um sistema "limpo" é otimizado e seus parâmetros são fixos, depois a otimização do break-even é executada e seus parâmetros são fixos, e depois a otimização do SL de proteção (se necessário) é executada. E há trabalho com molduras e processamento de dados deles em todos os lugares.

Todos os multithreading necessários já estão em vigor.

 
Igor Makanu:

admin Renat sempre respondeu a tais perguntas, que Metaquotes sempre escolhe uma solução que é garantida para fornecer segurança, bem, alternativamente, você recebe um ponteiro na memória e pode injetar um vírus que pode adicionar seu código ao compilado ex4 / ex5

Você realmente acha que eu não posso executar um terminal com um Expert Advisor sob um depurador e descobrir de que endereço relativo começa a execução? O endereço de qualquer função ou variável? Outra coisa é que estes endereços podem mudar (por causa dos truques aplicados), mas em teoria eu posso descobrir tudo o que os indicadores normais me dariam.

A outra coisa que os assusta é descobrir endereços de funções através de apontadores em tempo de execução e arrancá-los em dlls.

Razão: