Preços, lotes, dinheiro - precisão fixa. Os indicadores são flutuantes.
Esta diferença é em essência, embora o dobro seja usado para representar ambos. Na verdade, ele determina o que você chama de "estilo de programação". Mais uma vez, o critério de "exatidão" é diferente para todos. A meu ver, por exemplo, NormalizeDouble() é uma função ridiculamente ineficiente e, conseqüentemente, absolutamente desnecessária.
Preços, lotes, dinheiro - precisão fixa. Os indicadores são flutuantes.
Esta diferença é em essência, embora o dobro seja usado para representar ambos. Na verdade, ele determina o que você chama de "estilo de programação". Mais uma vez, o critério de "exatidão" é diferente para todos. A meu ver, por exemplo, NormalizeDouble() é uma função ridiculamente ineficiente e, conseqüentemente, absolutamente desnecessária.
Recentemente, em algum tópico (não me lembro exatamente), uma pessoa estava reclamando sobre a estranha operação do Expert Advisor. E se verificou que mesmo o preço retirado do servidor para seu pedido ainda precisa ser normalizado! Depois disso, eu simplesmente adotei NormalizeDouble() como um procedimento obrigatório. Eu realmente ainda não tenho um bom entendimento de como o código às vezes funciona, é por isso que estou interessado em como ele deve ser feito. E que abordagem você sugere ao invés de NormalizeDouble()?
komposter: Alguma sugestão (a nível de usuário, não a nível de desenvolvedor MT)?
Por preço, por exemplo. Licitações, lá, pede, pára:
intComparePrice(doublea, doubleb){a -= b;
b = Point / 2.;
if(a > b)return(1);
if(a < -b)return(-1);
return(0);
}
Muitas vezes é melhor fazer todos os cálculos de lote e nível em números inteiros. Muitas vezes mais rápido e sem erros de amostragem em princípio.
Concordo, em Omega tudo estava em INT. Você está sugerindo converter tudo em MT para INT primeiro, e depois calcular? P.S. E seu ComparePrice é uma solução muito interessante, eu nem mesmo a recebi de imediato.
Preços, lotes, dinheiro - precisão fixa. Os indicadores são flutuantes.
Esta diferença é em essência, embora o dobro seja usado para representar ambos. Na verdade, ele determina o que você chama de "estilo de programação". Mais uma vez, o critério de "exatidão" é diferente para todos. A meu ver, por exemplo, NormalizeDouble() é uma função ridiculamente ineficiente e, conseqüentemente, absolutamente desnecessária.
Primeiro, escreva vários Expert Advisors em seu próprio pedido e sinta a tempestade de seus clientes porque a parada de perda acabou de repente por ser 1 ponto errado... E então explicar-lhes sobre o absurdo da função NormalizeDouble(), eu me pergunto como funcionará para você=)
VBAG: E acontece que mesmo o preço retirado do servidor de seu pedido ainda precisa ser normalizado!!!
Não é provável (c). As tripas da MT são quase impossíveis de normalizar. Houve e há muitas conversas sobre o desempenho incompreensível da EA quando testado em dados históricos incompreensíveis.
Primeiro, escreva alguns Expert Advisors em seu próprio pedido, sinta a tempestade dos clientes porque o stop-loss de repente acabou por ser 1 pip errado... E então explique sobre o absurdo da função NormalizeDouble(), eu me pergunto como isso funcionará para você=)
Deixe-me contar-lhe um segredo. Escrevi muito mais Expert Advisors personalizados do que o necessário para começar. Nunca senti a necessidade de comprá-los porque nunca dei nenhuma razão para isso. Em meus programas, é garantido que a perda de estoque está (e não "aparece") onde deveria estar. Assim, não tenho que explicar nada do tipo para o cliente, especialmente sobre alguma função muito específica. Parece-me que o objetivo de escrever uma EA é se livrar de tais perguntas e explicações para o cliente.
Preços, lotes, dinheiro - precisão fixa.
Os indicadores são flutuantes.
Esta diferença é em essência, embora o dobro seja usado para representar ambos. Na verdade, ele determina o que você chama de "estilo de programação".
Mais uma vez, o critério de "exatidão" é diferente para todos. A meu ver, por exemplo, NormalizeDouble() é uma função ridiculamente ineficiente e, conseqüentemente, absolutamente desnecessária.
não seria melhor substituí-lo por
Ou é errado?
O problema de comparar números com dupla precisão é rebuscado e vem do desconhecimento básico da matemática.
Ou dar instruções claras sobre como resolver este "problema", ou uma das duas =)
Mas haverá problemas de desempenho.
Alguma sugestão (nível de usuário, não nível de desenvolvedor MT)?
Muitas vezes é melhor fazer todos os cálculos de lote e nível em números inteiros. Muitas vezes mais rápido e sem erros de amostragem em princípio.
Mais uma vez.
Preços, lotes, dinheiro - precisão fixa.
Os indicadores são flutuantes.
Esta diferença é em essência, embora o dobro seja usado para representar ambos. Na verdade, ele determina o que você chama de "estilo de programação".
Mais uma vez, o critério de "exatidão" é diferente para todos. A meu ver, por exemplo, NormalizeDouble() é uma função ridiculamente ineficiente e, conseqüentemente, absolutamente desnecessária.
Depois disso, eu simplesmente adotei NormalizeDouble() como um procedimento obrigatório. Eu realmente ainda não tenho um bom entendimento de como o código às vezes funciona, é por isso que estou interessado em como ele deve ser feito.
E que abordagem você sugere ao invés de NormalizeDouble()?
Alguma sugestão (a nível de usuário, não a nível de desenvolvedor MT)?
Muitas vezes é melhor fazer todos os cálculos de lote e nível em números inteiros. Muitas vezes mais rápido e sem erros de amostragem em princípio.
P.S. E seu ComparePrice é uma solução muito interessante, eu nem mesmo a recebi de imediato.
Mais uma vez.
Preços, lotes, dinheiro - precisão fixa.
Os indicadores são flutuantes.
Esta diferença é em essência, embora o dobro seja usado para representar ambos. Na verdade, ele determina o que você chama de "estilo de programação".
Mais uma vez, o critério de "exatidão" é diferente para todos. A meu ver, por exemplo, NormalizeDouble() é uma função ridiculamente ineficiente e, conseqüentemente, absolutamente desnecessária.
Primeiro, escreva vários Expert Advisors em seu próprio pedido e sinta a tempestade de seus clientes porque a parada de perda acabou de repente por ser 1 ponto errado... E então explicar-lhes sobre o absurdo da função NormalizeDouble(), eu me pergunto como funcionará para você=)
E acontece que mesmo o preço retirado do servidor de seu pedido ainda precisa ser normalizado!!!
Houve e há muitas conversas sobre o desempenho incompreensível da EA quando testado em dados históricos incompreensíveis.
Por preço, por exemplo. Licitações, lá, pede, pára:
Se você comparar preços, você não precisa de uma função tão sobrecarregada como eu tenho.
E de forma simplificada, funciona tão rápido quanto o ComparePrice:
Primeiro, escreva alguns Expert Advisors em seu próprio pedido, sinta a tempestade dos clientes porque o stop-loss de repente acabou por ser 1 pip errado... E então explique sobre o absurdo da função NormalizeDouble(), eu me pergunto como isso funcionará para você=)
Deixe-me contar-lhe um segredo.
Escrevi muito mais Expert Advisors personalizados do que o necessário para começar. Nunca senti a necessidade de comprá-los porque nunca dei nenhuma razão para isso. Em meus programas, é garantido que a perda de estoque está (e não "aparece") onde deveria estar. Assim, não tenho que explicar nada do tipo para o cliente, especialmente sobre alguma função muito específica. Parece-me que o objetivo de escrever uma EA é se livrar de tais perguntas e explicações para o cliente.