Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 61

 
Yedelkin:

Não compreendo exactamente qual é o inconveniente. Descarregou a história uma vez no OnInit() para todos os símbolos - é tudo.

Bem, a criação de um indicador garante que o histórico é descarregado com a profundidade certa?

"MQL5 Reference - Acesso a Séries Temporais e Indicadores - Organização do Acesso a Dadoshttps://www.mql5.com/ru/docs/series/timeseries_access

A recepção de novos dados do servidor provoca a actualização automática dos dados de preços utilizados no formato HC para todos os períodos de tempo e o recálculo de todos os indicadores, que obviamente os utilizam como dados de entrada para o cálculo.

Quando chamo um indicador de um Expert Advisor, se o histórico de um símbolo não for carregado, o terminal começará a descarregar os dados e o tráfego permanecerá o mesmo

Não gosto do carregamento independente de dados, é preciso monitorizá-los constantemente, logicamente o próprio terminal da 5ª geração deve fazê-lo! MT4 tem um carregamento independente do histórico a partir do código indicador - "isso foi uma chatice" :)

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - Документация по MQL5
 
IgorM:
Estou a ver. O inconveniente está em obter dados frescos pelo indicador (por outros símbolos), e não pelos históricos, como inicialmente parecia. Há apenas uma ideia neste caso: um indicador simples consome memória em proporção directa ao número dos seus amortecedores, portanto, se não quiser desperdiçar memória, pode deslocar a carga para indicadores auxiliares.
 
Yedelkin Neste caso há apenas uma ideia: um indicador simples utiliza a memória em proporção directa à quantidade dos seus amortecedores, portanto, se não quiser desperdiçar memória, pode deslocar a carga nos indicadores auxiliares.

Oh! agora isto é construtivo, mas ninguém proíbe limitar o número de barras nas definições do terminal - consumirá menos memória, CopyClose() etc. também requer matrizes, e esta é a mesma memória do computador. E parece que no próprio indicador se pode limitar o número de barras para recálculo - também requer menos memória.

tal construção irá funcionar correctamente com o provador?

 
IgorM: Mas ninguém proíbe a limitação do número de barras nas configurações do terminal - consumirá menos memória

Sim, "o avisado é prevenido" :)

IgorM: CopyClose() etc. também requerem arrays, que é a mesma memória que o computador.

Discordo aqui sobre consumo de memória semelhante pela função CopyClose(). Esta função permite pequenas matrizes, e o tampão indicador - é sempre esticado até ao seu comprimento total especificado nas definições do terminal, ou seja, pelo menos 50 mil barras.

IgorM : Tal desenho funcionará correctamentecom o provador?
Em Setembro, o testador não reage à limitação do número de barras nas definições dos terminais. Ou seja, carregou toda a história. Quanto aos indicadores auxiliares, eles funcionam normalmente no testador.
 
Porque é que os cálculos são efectuados pela CPU e não pela GPU? Talvez não compreenda alguma coisa, mas a eficiência da CUDA e OpenCL é reconhecida em muitas indústrias. Mesmo para computação médica, alguns míseros 2-4-8 agentes são apenas patéticos comparados com 128 ou mais agentes de uma placa gráfica
 
madload:

Diga-me, porque são os recursos computacionais da CPU e não da GPU? Talvez eu não compreenda alguma coisa, mas a eficiência da CUDA e do OpenCL é reconhecida em muitas indústrias. Mesmo para cálculos médicos. E alguns míseros 2-4-8 agentes são apenas patéticos comparados com 128 ou mais agentes de uma placa gráfica.

Quem lhe proíbe a utilização de recursos informáticos da GPU?

Ver:

OpenCL: A Ponte para Mundos Paralelos

OpenCL: da codificação ingénua à codificação mais inteligente

 
Reshetov:

Quem o impede de utilizar os recursos informáticos da GPU?

Ver:

OpenCL: A Ponte para Mundos Paralelos

OpenCL: da codificação ingénua à codificação mais significativa

Descarreguei o metatester mas só tem um CPU. não há forma de ligar placas gráficas aos cálculos - é isso que peço - haverá software para a GPU?
 
madload:
não há forma de ligar as placas de vídeo aos cálculos

Não seja absurdo. Dei-lhe links para dois artigos onde está escrito em russo e inglês claro como utilizar as capacidades da GPU para cálculos.

 
Reshetov:

Não seja absurdo. Dei-lhe links para dois artigos onde está escrito em russo e inglês claro como utilizar as capacidades da GPU para cálculos.


A MQ ainda não descobriu como padronizar a pletora de visos que funcionam em computadores com nuvens.

Problema 1: existem vários núcleos de CPU no computador e uma placa de vídeo, todos os agentes irão até à placa pedir recursos.

Problema 2: os visos diferem muito tanto na memória como no número de núcleos (escrever código para um widget personalizado é uma coisa, mas escrever código universal é muito mais difícil). Não se esqueça que a inteligência da multidão é igual à das ovelhas mais burras. Daí o problema da barra a estabelecer. Para um código 128 núcleos e 512 Mb de memória será suficiente, enquanto outro código não precisará de menos de 2GB e 2048 núcleos. Mais uma vez, a viscosidade varia muito mais do que a CPU, daí o problema com as aplicações de clusão. Para as CPUs, o problema é resolvido através do nível PR a partir do qual os núcleos são autorizados a ser utilizados pelos agentes.

loucura:

Diga-me, porque é que os cálculos são feitos por CPUs e não por GPUs? Talvez me esteja a faltar algo, mas a eficiência da CUDA e do OpenCL é reconhecida em muitas indústrias. Até cálculos médicos são utilizados. E alguns míseros 2-4-8 agentes são apenas patéticos comparados com 128 ou mais agentes de uma placa gráfica.

A nuvem não tem um mísero 2-4-8 agentes, escalona dependendo da tarefa, estava a testar uma EA com 512 agentes, para tarefas sérias poderia ter mais.

 
Urain:

Não se iluda, os agentes não usam GPUs porque a MQ ainda não descobriu como normalizar numa massa heterogénea de visos em computadores claud.

Não diga asneiras, a GPU é utilizada em agentes locais. Eu não perguntei sobre a chaleira de claud, perguntei sobre o metatenter.

Ver https://www.mql5.com/ru/forum/6042/page10

Renat:

ilovebtc:

A placa de vídeo já está ou não habilitada na nova construção do testador? Em caso afirmativo, onde posso ver os resultados?

Sim, é claro. Pode chamar funções OpenCL a partir da MQL5 e calcular as suas tarefas.

Ver https://www.mql5.com/ru/forum/23/page15

MetaTrader 5 Client Terminal build 655

...

25. MetaTester: Apoio adicional para a utilização de programas OpenCL em agentes de teste.

Os programas OpenCL destinam-se a realizar cálculos em placas de vídeo que suportam OpenCL 1.1 ou superior. As placas de vídeo modernas contêm centenas de pequenos processadores especializados que podem realizar simultaneamente operações matemáticas simples nos fluxos de dados recebidos. A linguagem OpenCL organiza essa computação paralela e proporciona uma enorme rapidez para uma determinada classe de tarefas.

OpenCL: внутренние тесты реализации в MQL5
OpenCL: внутренние тесты реализации в MQL5
  • www.mql5.com
Мы ведем работу над нативной поддержкой OpenCL прямо в MQL5.