Um pouco surpreendido :) Pensei em partilhar e fazer uma pergunta NÃO retórica. - página 16

 
Eu disse-vos - principiantes... A compreensão virá com a experiência.
 
Renat:
Digo-vos - principiantes... A compreensão virá com a experiência.

Bem visto. É uma boa. :)

Está a exagerar com o novato. Sobre o que estamos a discutir agora? :)

Descobrir a matemática. :)

==

Vou acrescentar... talvez alguém o faça... Pode começar por ver isto.


http://en.wikipedia.org/wiki/%E2%84%9A

e aqui http://demonstrations.wolfram.com/RationalNumberExplorer/

e aqui http://www.solarix.ru/for_developers/cpp/boost/rational/ru/rational.shtml

 
Academic:



Os rostos sorridentes nos seus próximos postos serão recortados. Tenha isto em mente.
 
DDFedor:
Os rostos sorridentes nos seus próximos postos serão recortados. Tenham isso em mente.
Quem está lá? :)
 
Renat:
A conversão de preços para valores inteiros não tem vantagens significativas. Sim, reduz eficazmente os volumes, mas perde drasticamente a velocidade devido à inevitável conversão para o dobro. Precisamente inevitável, porque não se pode tornar todo o sistema inteiro, a matemática calculável ainda tem de ser feita em dobro (o que nem sequer tem precisão suficiente).

Eu apoio isso. Foi por isso que escrevi há pouco:

hrenfx:

P.S. Os seus números são claramente inexactos: a história INT não pode ocupar 2.1Gb e a história DOUBLE não pode ocupar 7Gb. A diferença deve ser sempre exactamente 2(USHORT não é suficiente) vezes. A mudança para aritmética inteira com preços dá uma vantagem significativa quando toda a lógica de uma EA pode ser substituída por lógica inteira. Isto não acontece com muita frequência.

Tenho a calculadora mais burra mas mais rápida, tudo é inteiro, porque só tem operações de adição, subtracção e comparação. Consequentemente, não é necessária a passagem da INT para a DOUBLE.

Em geral, a optimização algorítmica em casos particulares dá sempre uma vantagem na velocidade de execução (não de escrita) sobre a abordagem geral. Assim, por exemplo, se o seu Expert Advisor utiliza a auto-optimização dos seus parâmetros, a questão da velocidade da auto-optimização é muito importante. E é razoável criar em DLL ou directamente em MQL5 o seu próprio Expert Advisor maximamente optimizado em termos de algoritmos. E não utilizar o MT5-optimizador para a auto-optimização. Infelizmente, o MT5-optimizador para Expert Advisors auto-optimizado é adequado para casos muito limitados.

 
hrenfx:

Eu apoio isso. Foi por isso que escrevi há pouco:

Na minha calculadora mais burra mas mais rápida, tudo está em números inteiros, porque só há operações de adição, subtracção e comparação. A mudança de INT para DOUBLE, respectivamente, é desnecessária.

Em geral, a optimização algorítmica em casos particulares dá sempre uma vantagem na velocidade de execução (não de escrita) sobre a abordagem geral. Assim, por exemplo, se o seu Expert Advisor utiliza a auto-optimização dos seus parâmetros, a questão da velocidade da auto-optimização é muito importante. Por conseguinte, é razoável criar em DLL ou directamente em MQL5 o seu próprio Expert Advisor maximamente optimizado em termos de algoritmos. E não utilizar o optimizador MT5 para casos de auto-optimização. Infelizmente, o optimizador incorporado para Expert Advisors auto-optimizado é bom para casos limitados.

Pode dar um exemplo quando a tradução para o dobro não pode ser evitada?


Outro exemplo é quando precisamos de calcular o valor percentual de algo ou a sua probabilidade.

No primeiro caso, tomamos um pip como 0,0001 de um por cento e 1,2345% serão 12345 pontos.

É o mesmo com probabilidades.

Deve sempre compreender-se que mesmo a profundidade do bit duplo é limitada e há sempre uma coisa como pontos escondidos.

 
Academic:

Dê-me um exemplo quando precisa de se converter para o dobro?


Um contra-exemplo seria calcular a percentagem de algo ou a probabilidade.

No primeiro caso, tomamos um pip como 0,0001 de um por cento, em cujo caso 1,2345% é 12345 pontos.

É o mesmo com probabilidades.

Deve sempre compreender-se que mesmo a profundidade do bit duplo é limitada e há sempre uma coisa como pontos escondidos.

Bem, que emboscada! A humanidade está a desenvolver a ciência dos números numa falsa direcção. Os números reais, e mais ainda, os números complexos, foram inventados em vão. - Muito simplesmente, algumas pessoas acabam por ser capazes de sobreviver com um número de inteiros!
 
joo:
Bem, que emboscada! A humanidade está a desenvolver a ciência dos números na direcção errada. Números reais, números muito menos complexos, foram inventados em vão. - Muito simplesmente algumas pessoas acabam por ser capazes de fazer com uma série de inteiros!
Não vê um exemplo?
 
Academic:
Não consegue ver um exemplo?
Como é que sei se o vejo ou não?
 
Um exemplo da necessidade de ir para o dobro: um cálculo trivial do MA ou qualquer outro indicador. Basta dividir os números inteiros (virtualizados dos números reais) para se obter uma enorme perda de precisão. O lucro em dinheiro também não pode ser calculado. Sobre isto já o disse clara e distintamente. Não se consegue compreendê-lo sem entrar na prática.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5