Esta é uma demonstração não só dos cálculos da GPU no código MQL5, mas também das capacidades gráficas do terminal:
O código-fonte completo como um roteiro está anexado.
Estamos preparando uma biblioteca do OpenCL para matemática e renderização, que levará algumas semanas. Vai ser incrivelmente rápido e bonito.
Enquanto isso, dê uma olhada na biblioteca gráfica atualizada para a renderização de gráficos científicos.
О! Em breve chegará aos jogos ))))
Para que em uma plataforma comercial? Bem, os cálculos são compreensíveis, e todo tipo de coisas bonitas só seduzem.
О! Em breve chegará aos jogos ))))
Para que em uma plataforma comercial? Bem, os cálculos são claros, e todo tipo de coisas bonitas só seduzem.
Com OpenCL você pode usar milhares de núcleos de GPU para acelerar os cálculos matemáticos uma centena (várias centenas) de vezes.
Isto é exatamente o que é necessário na negociação e o que permitirá passar para o uso de técnicas que requerem ordens de magnitude mais recursos de cálculo.
Na MQL4 você escava com uma pá, enquanto na MQL5 com OpenCL você obtém um trator em termos de desempenho. Para levar os cálculos da GPU às massas, estamos preparando novas bibliotecas de matemática além das já existentes.
Não consegui passar, passei por ela
Esta é uma demonstração não só dos cálculos da GPU no código MQL5, mas também das capacidades gráficas do terminal:
O código-fonte completo como um roteiro está anexado.
Compilou-o, executou-o.
Não funciona.
MT5 construir 1491.
W7 prof SP1 eng 64-bit
Compilou-o, executou-o.
Veja os logs do terminal e a janela do especialista.
O roteiro é complexo, apenas escrito e ainda não foi depurado. Não funciona em todos os lugares sem GPU.
Veja os logs do terminal e a janela do especialista.
O roteiro é complexo, apenas escrito e ainda não foi depurado. Não funciona em todos os lugares sem GPU.
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) uint b=(uint)(res[2]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) uint g=(uint)(res[1]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) uint r=(uint)(res[0]*255);
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:08.197 Seascape (GOLD-12.16,H1)
2016.12.10 03:57:08.218 Seascape (GOLD-12.16,H1) OpenCL program create failed
2016.12.10 03:57:36.695 Seascape (GOLD-12.16,H1) OpenCL: GPU device 'GeForce GTX 970' selected
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) uint b=(uint)(res[2]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) uint g=(uint)(res[1]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) uint r=(uint)(res[0]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1) ^ ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)
2016.12.10 03:57:36.730 Seascape (GOLD-12.16,H1) OpenCL program create failed
OK, vamos resolver isso. O código era como um teste de uma caneta.
Cada dispositivo de GPU tem seu próprio compilador e ele decide o que pular. Os compiladores OpenCL da Intel, AMD e Nvidia são diferentes.
Estamos testando sob OpenCL 2.0, que tem uma funcionalidade muito maior. Vamos verificar e corrigir este teste no OpenCL 1.2.
Para mais informações, recomendo a leitura de nosso artigo sobre OpenCL no MetaTrader 5:

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Esta é uma demonstração não só dos cálculos da GPU no código MQL5, mas também das capacidades gráficas do terminal:
O código-fonte completo como um roteiro está anexado. O erro no OpenCL 1.2 foi corrigido.