Erros, bugs, perguntas - página 575

 
Karlson:
Se nos sentarmos e falarmos demagogia )), vamos esperar pelas consequências do Eurochif... e la-la...

O que há de errado com as consequências da Eurochif?

papaklass:
"Dê-me a lista completa, por favor".
+1
 
A minha proposta é acompanhar os tempos, escrever algo que seja realista nesta fase, ou seja, sou contra a frase "Não se deve escrever uma multithreading, porque não há multithreading.A única coisa que é preciso fazer quando se negoceia com um potencial de spread de 1-3 (até 10-20 pontos de spread de 4 dígitos), e se não gostar - um tick é suficiente para um par rápido ou mesmo uma barra de um minuto para uma sondagem.
 
Interesting:

O que há de errado com o rescaldo do EUROCHIFA?

O lenço... Não vale a pena trocá-lo se o Eurobucks já está a negociar... Então há a possibilidade de uma crise... Muitas coisas são possíveis, até e incluindo a regulação de outras moedas...
 
papaklass:
Sim, até que os manipuladores de eventos OnTick() e OnTrade() e multithreading em EAs se tornem paramétricos, a multithreading normal será apenas um sonho. Todas estas coisas - OnChartEvent() etc. é um disparate. É uma tentativa de substituir a parametrização dos manipuladores dos eventos principais. E enquanto o MQ fará tais disparates, em vez de resolver a questão cardinalmente (parâmetros dos manipuladores de eventos e multithreading) o MT5 estará no mesmo nível em que está agora. E não há perspectivas especiais para esta plataforma na sua forma actual. (Não visível para os comerciantes).

Apenas não se apercebe do nível de problemas para diferentes classes de utilizadores, dos processos internos de implementação de multithreading para MQL5 e das implicações globais para a plataforma.

Pense nisso durante uma semana, encontre cinco condições mortíferas, e depois pode publicar pormenores.

Empreendemos esta análise muitas vezes e durante muito tempo, graças à quarta geração da língua.

 
papaklass:
O terminal permite-lhe abrir 99 gráficos. E esperar que o próximo par veja o que se passa ali? E se analisar em barras de minutos em tais condições, terá acesso aos instrumentos uma hora e meia após a última sondagem. E como é que as pessoas conseguem analisar centenas de gráficos (para a bolsa de valores). E o MT5 também está posicionado como um terminal de stock. Portanto, existem tais tortas. Assim, sem multithreading e parametricidade dos manipuladores de eventos não há lugar nenhum. Ou negociar em 1 - 12 pares.

Está fundamentalmente enganado em não saber isso:

  • cada EA/script corre no seu próprio fio, independentemente dos outros
  • cada gráfico tem a sua própria fila independente
  • cada símbolo tem o seu próprio fio de execução ao trabalhar nos gráficos; todos os indicadores deste símbolo são calculados neste fio, sem afectar os processos dos indicadores dos outros símbolos
  • o terminal tem muitos fios do sistema que fazem o seu trabalho independentemente um do outro e desatar os estrangulamentos

Infelizmente, declarações "dê-me multithreading e basta" não significam que compreenda realmente os processos existentes. Trabalhámos muito bem nos processos internos do terminal e implementámos um sistema muito produtivo e consistente.

 
Loky:

Não há nada de claro sobre esta implementação. Interessante articulou correctamente o problema no post anterior.

"A própria linguagem (o próprio conceito de MQL) não permite organizar o processamento de múltiplos fios dentro de um programa"

Assim que a função OnChartEvent() for executada e enquanto o código para processar o evento de chegada de um novo tick de um dos pares for executado, todos os outros pares com os seus eventos onTick terão um descanso!

Precisa realmente de comércio de alta frequência acima de 1 segundo?

Penso que não, então em OnChartEvent() abrir apenas bandeiras de estado, e não haverá atrasos, e mover os próprios cálculos para OnTimer() e processar apenas as bandeiras que estão abertas.

 
Urain:

Precisa realmente de comércio de alta frequência acima de 1 segundo?

Penso que não, então em OnChartEvent() abrir apenas bandeiras de estado, e não haverá atrasos de fluxo, e os próprios cálculos movem-se para OnTimer(), e processam apenas aquelas bandeiras, que estão abertas.

1. e como funcionará este desenho no provador?

2. Preciso de uma troca com frequência não inferior à chegada de uma nova citação de um par. Posso estar a analisar o tempo entre as citações e a sua quantidade num determinado intervalo.

Eu gostaria de ter "Cálculos" para dois pares diferentes ao mesmo tempo.

3. eu gostaria de ter um conceito completamente diferente de kit de ferramentas. A ligação ao gráfico da EA é muito irritante. Gostaria que fosse ao nível da visualização dos objectos, das suas propriedades e eventos na janela terminal.

Por exemplo

- seleccionou um símbolo na janela de aspas, clique no botão esquerdo do rato -> propriedades ->

depois observar a lista de eventos -> seleccionar duas vezes com o botão esquerdo do rato -> abre-se uma janela para introduzir o código mql5

Do mesmo modo, para outros objectos terminais - gráficos, indicadores, etc.





 
Loky:

1. Como funcionará este desenho no provador?

2. Preciso de negociar com uma frequência não inferior a uma nova cotação que chegue para um par. Posso estar a analisar o tempo entre as citações e o seu número num determinado intervalo.

Gostaria que os "Cálculos" fossem efectuados para dois pares diferentes ao mesmo tempo.

Uma vez que os cálculos terão lugar em OnTimer() não haverá processamento simultâneo, apenas sequencial.

Neste caso, a fila de eventos não se vai acumular. Os eventos dos carrapatos de diferentes pares que vierem durante o cálculo OnTimer() serão ignorados.

 
papaklass:
.....

Acho que estás a assumir demasiadas responsabilidades. No mínimo, deveria ter sido mais educado.

Se tiver problemas com o terminal ou com a execução de programas MQL5, então contacte o local certo - servicedesk. Será muito mais útil.

 
papaklass:

1. Porque é que todos os gráficos abertos com indicadores no terminal estão em linha num só núcleo? Tenho 4 núcleos no meu computador e três estão ociosos. Talvez a nuvem seja a culpada de tal desempenho?

Gonewo. Pruf - por favor, vamos ver.

2. Porque é que o processo de Expert Advisor multimoedas faz ticks a partir de cada gráfico sequencialmente, e não a partir de vários símbolos ao mesmo tempo?

Tem de o fazer? E qual é o problema de passar os eventos necessários dos índices de espionagem? Bem, não os carrapatos, é claro, mas os sinais, é claro. E a EA tem um fio e não precisa de mais.

Não precisamos de mais dores e laços com sincronização e bloqueios. Pelo menos dominar o OOP e depois pedir multithreading.

Talvez eu tenha organizado a EA incorrectamente e existam funções no MT5 que permitem utilizar todos os núcleos? Em caso afirmativo, explicar quais são estas funções e como utilizá-las.

Porque é que o Expert Advisor precisa de utilizar todos os núcleos?

Nem sequer tem de se preocupar com a multi-tarefa. O Expert Advisor é um espião e um sincronizador de Expert Advisor. A maior parte da funcionalidade é executada pelos espiões e o sincronizador é responsável pelo correcto intercâmbio de dados dependentes entre os espiões.