Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Comecei a reler o tema e Igor já havia escrito sobre ele.
Isto é o que eu estava tentando dizer, Yuri, que precisamos alocar a memória e registrar o fluxo.
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.
Desde o início, eu estava inclinado à mesma idéia - que a memória deve ser alocada e inicializada.
Inicialização ealocaçã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 ))
Comecei a reler o tema e Igor já escreveu sobre ele.
Era isso que eu estava tentando dizer, Yuri, que deveríamos alocar a memória e registrar o fluxo.
Comecei a reler o fio e Igor já havia escrito sobre ele.
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 não deve pingar e estar livre de lixo.
Então minha pergunta a Igor, por favor explique como fazer isso em C++?
Você está empurrando magistralmente este tópico para o topo da discussão, tentando atrair mais e mais participantes para seu problema ))))
Não tire a correspondência fora do contexto:
- Eu escrevi no contexto que se você quiser entender como o WinAPI funciona, você pode usar exemplos prontos na escrita da dll = mais de 20 artigos sobre este recurso
- Eu o escrevi em um contexto onde você pode chegar a chamadas WinAPI puras, substituindo plugins que seus programadores de sistema já escreveram para você
....
o objetivo da correspondência: começar a ler e fazer algo, não escrever e escrever.... Você entenderá muito, entenderá o que e como funciona no Windows, mas este conhecimento não será exigido, devocê como do programador de aplicações, apenas trabalho mecânico é necessário - escolha o tipo de projeto, acrescente seu código, compilado = obteve o resultado - todo o trabalho foi feito para você por centenas ou milhares de programadores de sistemas. Qualquer modificação dos modelos e incluir arquivos deve fazer sentido - se você não sabe, sob o pretexto de "por que tanto código, ele já funciona"! - Você terá um bug não reprodutível e/ou falta de compatibilidade OS/PC
O posto é para os criadores. Trolls à distância. Para GUIs, parece bom colocar o OnChartEvent em uma linha separada.
Por que quebrar o modelo que os desenvolvedores fizeram? - O modelo do programa MQL é simples e claro, há eventos - há pontos de entrada que processam esses eventos (OnTick(),OnInit()....OnChartEvent() )
há a possibilidade de obter o estado do ambiente comercial de qualquer programa MQL (mesmo os indicadores podem ver o lucro de uma ordem aberta, etc.) e é possível combinar Expert Advisor+script, Expert Advisor+indicador de usuário no mesmo gráfico - você obtém a execução assíncrona de programas MQL, a EA negocia, o indicador exibe a visualização gráfica - se o desempenho do fluxo deindicadores do usuário não for suficiente (eles funcionam em um único tópico), então é claro que é um problema - você precisa usar 2 EAs em 2 gráficos e organizar a interação deles
novamente - há uma tarefa específica, há uma implementação, eu já perguntei muitas vezes por que essa característica é necessária, mas até agora não há resposta - apenas raciocínio espacial sobre a visualização 3D.... e não há discussão sobre onde obter algum DirectX para trabalhar com 3D ;)
imho, funciona! )))
Por que quebrar o modelo que os desenvolvedores fizeram? - O modelo do programa MQL é simples e claro, há eventos - há pontos de entrada que processam esses eventos (OnTick(),OnInit()....OnChartEvent() )
há a possibilidade de obter o estado do ambiente comercial de qualquer programa MQL (mesmo os indicadores podem ver o lucro de uma ordem aberta, etc.) e é possível combinar Expert Advisor+script, Expert Advisor+indicador de usuário no mesmo gráfico - você obtém a execução assíncrona de programas MQL, a EA negocia, o indicador exibe a visualização gráfica - se o desempenho do fluxo deindicadores do usuário não for suficiente (eles funcionam em um único tópico), então é claro que é um problema - você precisa usar 2 EAs em 2 gráficos e organizar a interação deles
novamente - há uma tarefa específica, há uma implementação, eu já perguntei muitas vezes por que essa característica é necessária, mas até agora não há resposta - apenas raciocínio espacial sobre a visualização 3D.... e não há discussão sobre onde obter algum DirectX para trabalhar com 3D ;)
imho, funciona! )))
Veja. Há um botão. Você clica nele. O OnChartEvent entra em fila de espera. Mas nesta fila já existe o OnTick, e depois dele existe o OnTime, e neles existe o CopyRate para todas as ferramentas, que, por um segundo, bloqueia e faz loops para uma merda de uma tonelada de iterações. Como resultado, se o botão, por exemplo, abrir uma janela de diálogo, obtemos uma interface lenta. Não é crítico, é claro, mas não é agradável.
A GUI deve girar na EA principal e tudo mais em uma EA separada. Esta EA escrava separada é colocada emOBJ_CHART invisível e interage com o caminho principal EventSendCustom().
Recebe algo como uma multi-tarefa. Eu a implementei dessa forma.
Veja. Há um botão. Você clica nele. OnChartEvent entra na fila de espera. Mas nesta fila já existe o OnTick, e depois dele existe o OnTime, e neles existe o CopyRate para todas as ferramentas, que, por um segundo, bloqueia e faz loops para uma porra de iterações. Como resultado, se o botão, por exemplo, abrir uma janela de diálogo, obtemos uma interface lenta. Não é crítico, é claro, mas não é agradável.
Eu não sei OnChartEvent OnTick e OnTime, mas os desenvolvedores escreveram que se a EA estava ocupada e não processou o evento, este evento não cria uma fila, ou seja, será apenas um carrapato ou um salto de tempo ( OnChartEvent - não sei, não verifiquei)
A lógica dos desenvolvedores é simples aqui, cada evento é uma ação específica do Expert Advisor, mas é este evento que eu sei com certeza e já verifiquei mais de uma vez (eu trabalho mais em teoria no MT5, não sei como ONTick funciona fisicamente):
sobre o MT4 direi sem ambigüidade: todas as operações comerciais devem ser feitas somente através de tick de entrada, caso contrário, em 9 de cada 10 casos você receberá a recusa do servidor em processar a operação comercial,
ou seja, eu criei uma interface com o botão COMPRAR - de acordo com minha idéia, você pressiona COMPRAR e imediatamente envia um pedido, mas ele não funcionará diretamente, você precisa memorizar o comando do usuário (idealmente, bloquear o botão para que ele não goste)) e na chegada de um tick no OnTick () - enviar um pedido ao servidor - isso funcionará em 99% dos casos, ou seja, um tick chegou - você pode realizar um pedido de troca (não de qualquer lugar no MQL)
E se introduzirmos o OnChartEvent em um fluxo assíncrono, obteremos bloqueios mútuos do código executado? - Por exemplo, as estatísticas comerciais são obtidas pressionando o botão no OnChartEvent , e a mesma função (última troca perdida) é usada no OnTick - será algo sério! - imho, você não pode consertar tudo!
A GUI deve girar na EA principal e tudo mais em uma EA separada. Esta EA escrava separada é colocada emOBJ_CHART invisível e interage com o caminho principal EventSendCustom().
Recebe algo como uma multi-tarefa. Eu a implementei dessa forma.
Eu não sei OnChartEvent OnTick e OnTime, mas os desenvolvedores escreveram que se a EA estava ocupada e não processou o evento, este evento não cria uma fila, ou seja, será apenas um carrapato ou um salto de tempo ( OnChartEvent - não sei, não verifiquei)
A lógica dos desenvolvedores é simples aqui, cada evento é uma ação específica do Expert Advisor, mas é este evento que eu sei com certeza e já verifiquei mais de uma vez (eu trabalho mais em teoria no MT5, não sei como ONTick funciona fisicamente):
sobre o MT4 direi sem ambigüidade: todas as operações comerciais devem ser feitas somente através de tick de entrada, caso contrário, em 9 de cada 10 casos você receberá a recusa do servidor em processar a operação comercial,
ou seja, eu criei uma interface com o botão COMPRAR - de acordo com minha idéia, você pressiona COMPRAR e imediatamente envia um pedido, mas ele não funcionará diretamente, você precisa memorizar o comando do usuário (idealmente, bloquear o botão para que ele não goste)) e na chegada de um tick no OnTick () - enviar um pedido ao servidor - isso funcionará em 99% dos casos, ou seja, um tick chegou - você pode realizar um pedido de troca (não de qualquer lugar no MQL)
E se introduzirmos o OnChartEvent em um fluxo assíncrono, obteremos bloqueios mútuos do código executado? - Por exemplo, as estatísticas comerciais são obtidas pressionando o botão no OnChartEvent , e a mesma função (última troca perdida) é usada no OnTick - será algo sério! - imho, você não pode consertar tudo!