Sem matemática dupla, não há nada a fazer em nosso campo. Ainda mais em 2020.
Enquanto nos primeiros tempos do OpenCL ainda se podia procurar compromissos e ser enganado pela noção de "bem, você pode calcular algo em flutuação", hoje não é assim.
Qualquer tentativa de conversão dupla -> int -> dupla mata completamente o desempenho e o lucro, especialmente em tamanhos grandes.
A opção correta é usar formatos nativos e cartões mais modernos com novos drivers.
Não vou discutir sobre o modelo moderno de monetização em TI. Comprar um novo hardware que seja 25% mais eficiente do que usar algoritmos otimizados não causará o aquecimento global :)
Adiaremos o assunto do OpenCL e MT5 para uma data posterior, quando houver algum dinheiro de sobra para um computador desktop no orçamento familiar.
Eu tenho um favor a lhe pedir, Renat. No manual MQL5 (seção OpenCL) acrescente um aviso dizendo que antes de usar dados e cálculos duplos em placas gráficas/ coprocessadores gráficos, você tem que ter certeza de que eles são suportados por estes dispositivos. Para que os novatos da MQL5 não tenham nenhuma ilusão sobre hardware antigo.
Um pedido para você Renat. Favor adicionar no manual MQL5 (seção OpenCL) um termo de responsabilidade declarando que antes de usar dados e cálculos duplos em placas gráficas/ coprocessadores gráficos, você deve verificar se eles são suportados por estes dispositivos. Para que os novatos da MQL5 não tenham nenhuma ilusão sobre hardware antigo.
Isto já está escrito no teste de mapa automático e não pode ser selecionado: feito no último lançamento
OpenCL test compilation failed with error: use of type 'double' requires cl_khr_fp64 extension to be enabled
É seguro dizer sobre mapas antigos sem duplo suporte que eles são absolutamente inúteis para cálculos matemáticos.
Isto já está escrito no teste de mapa automático e não pode ser selecionado: feito no último lançamento
Tenho muito respeito pela MetaQuotes. Muito boas plataformas são desenvolvidas e mantidas por você.
Disclamer (requisitos do sistema) é lógico se você quiser manter o controle da reputação. Porque os iniciantes ingênuos (como eu:) se entusiasmam com um recurso interessante, captado na rede, e tendo falhado no lançamento do MT5, podem se resfriar para uma nova plataforma, porque ficam com a impressão de que há outras falhas potenciais enquanto o utilizam. Por exemplo, a necessidade de compreender o OOP em bibliotecas padrão, etc.
A propósito, seria útil ter um modelo de um simples Expert Advisor comercial sem OOP (de preferência diretamente no site MT5), para que mesmo os bebês MQL4 pudessem se acostumar rapidamente com a MQL5, ao mesmo tempo em que teriam controle total sobre o código. Neste sentido, um novo tutorial de MQL5 (de preferência mais curto - sem refazer os antigos) seria uma boa idéia. Então a comunidade comercial (o principal motor do progresso) rastejaria para uma nova plataforma mais rapidamente.
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
aim-1 : Respeito as Metaquotas. Muito boas plataformas são desenvolvidas e apoiadas por você.
A isenção de responsabilidade (requisitos do sistema) é lógica se você quiser monitorar sua reputação. Porque os novatos ingênuos (como eu :) pegaram fogo de características interessantes pegadas na rede e quebradas quando o MT5 é lançado podem esfriar por muito tempo até a nova plataforma, pois parece que outras quebras são potencialmente possíveis ao usá-la. Por exemplo, a necessidade de compreender o OOP em bibliotecas padrão, etc.
Com o OOP, a propósito, seria bom estabelecer oficialmente (melhor, diretamente nas páginas do site MT5) um modelo de um simples Expert Advisor comercial sem OOP, para que até mesmo os bebês MQL4 possam se envolver rapidamente na MQL5, enquanto controlam totalmente o trabalho do código. Neste sentido, um novo livro didático sobre MQL5 (de preferência mais curto - sem repetir a água velha) não faria mal. Então, a comunidade comercial (o motor principal / rolha do progresso) rastejará para a nova plataforma mais rapidamente.
Mais uma vez, obrigado por seu trabalho árduo.
Alguns exemplos vêm com o pacote MQL5. Programação totalmente orientada a procedimentos. Não tenho certeza sobre a MQL4
//test.mqhvoid f( int ii )
{
for ( int i = -ii; i <= ii; i++ )
{
int j = CLContextCreate( i );
if ( j != -1 )
{
CLContextFree( j );
Print( ii, ":", i, ":", j );
}
}
}
#include "test.mqh"voidOnStart() { f( 32765 ); }
Resultado:
32765:0:214735257632765:1:2147418112
e se
#include "test.mqh"voidOnStart() { f( 32766 ); }
Resultado:
32766:0:2147418112
Por que existe uma saída (linha) em um caso e duas no outro?
Sim, decidiu não utilizar cartões antigos sem duplo suporte.
Os cartões antigos em geral são muito ruins, incluindo os motoristas ruins não reparados que muitas vezes se chocam, derrubando o terminal.
A realidade é que você já deve controlar explicitamente as versões dos drivers, como fazem os desenvolvedores de jogos para PC. Os drivers padrão da Microsoft não vão levá-lo muito longe.
Vou verificar a rendição.
Sem matemática dupla, não há nada a fazer em nosso campo. Ainda mais em 2020.
Enquanto nos primeiros tempos do OpenCL ainda se podia procurar compromissos e ser enganado pela noção de "bem, você pode calcular algo em flutuação", hoje não é assim.
Qualquer tentativa de conversão dupla -> int -> dupla mata completamente o desempenho e o lucro, especialmente em tamanhos grandes.
A opção correta é usar formatos nativos e cartões mais modernos com novos drivers.
O apoio está lá:
Um pedido para você Renat. Favor adicionar no manual MQL5 (seção OpenCL) um termo de responsabilidade declarando que antes de usar dados e cálculos duplos em placas gráficas/ coprocessadores gráficos, você deve verificar se eles são suportados por estes dispositivos. Para que os novatos da MQL5 não tenham nenhuma ilusão sobre hardware antigo.
Isto já está escrito no teste de mapa automático e não pode ser selecionado: feito no último lançamento
É seguro dizer sobre mapas antigos sem duplo suporte que eles são absolutamente inúteis para cálculos matemáticos.
Esta é a realidade.
Isto já está escrito no teste de mapa automático e não pode ser selecionado: feito no último lançamento
Alguns exemplos vêm com o pacote MQL5. Programação totalmente orientada a procedimentos. Não tenho certeza sobre a MQL4
e se
Resultado:
Por que existe uma saída (linha) em um caso e duas no outro?
Resultado não claro:
e se
Resultado:
Por que existe uma saída (linha) em um caso e duas no outro?
Obrigado pela mensagem.
Fixo.
OpenCL handle overflow devido ao uso frequente do handle, mais do que SHORT_MAX vezes
e há uma semana estava funcionando bem. Por que desativar o OpenCL se não há suporte para o dobro e ele não é usado?
Sim, decidiu não utilizar cartões antigos sem duplo suporte.
Os cartões antigos em geral são muito ruins, incluindo os motoristas ruins não reparados que muitas vezes se chocam, derrubando o terminal.
A realidade é que você já deve controlar explicitamente as versões dos drivers, como fazem os desenvolvedores de jogos para PC. Os drivers padrão da Microsoft não vão levá-lo muito longe.