Thursday 23 November 2017

Forex Zero Divide


Tenho uma pergunta sobre zero dividir no indicador quando ele é executado. O que está errado. Devemos usar um truque para corrigi-lo. Obrigado. Function MarketInfo () está errado. De acordo com a documentação, DEVE retornar um determinado tipo de vários dados sobre os valores mobiliários listados na janela do Market Watch e, no caso específico, é Margin manter as ordens abertas calculadas para 1 lote. Que não pode ser 0. No entanto, a função retorna 0. É errado. O truque que você pode usar é primeiro manter o valor retornado pela função em uma variável adicional e, em seguida, verificar seu valor para 0. Se for 0, um erro deve ser sinalizado de forma alguma em vez de realizar a divisão. Caso contrário, a divisão deve ser realizada como de costume. 2014.06.13 02:11 2014.06.13 02:11:56 3 angevoyageur: Um truque. Sim, não divida por zero. Desculpe, não há nenhuma divisão por zero no código. Consulte a documentação, por favor. Obrigado a todos pela responsabilidade. Deixe-me deixar mais claro. MarketInfo (Symbol (), MODEMARGINREQUIRED) tem valor não zero. Mas quando executamos o MT4 com esse indicador, ele tem erro de divisão zero. Então, se compilarmos o indicador, isso funciona. A questão é por que ele tem que compilar todos os que começamos MT4. PS. Essa fórmula funciona bem se colocarmos a EA 2014.06.13 15:40 2014.06.13 15:40:31 8 Se o símbolo que você está usando não possui dados no momento em que você aplica o indicador, o MarketInfo () não pode retornar o valor certo . Por que você não filtra o cálculo com. Se (MarketInfo (.) Gt 0) MarketInfo () deve ser chamado uma vez. O valor retornado deve ser armazenado em uma variável. Em seguida, o valor armazenado na variável deve ser usado como em comparação como na divisão em vez de fazer chamadas múltiplas para MarketInfo () (um para comparação e um para divisão) porque não há garantia de que, se a primeira vez que MarketInfo () retornasse não - 0 em algum momento durante o MT4 começando, então não retornará 0 quando for chamado quase que imediatamente a segunda vez. É errado fazer uma suposição de que o MarketInfo () nunca retornará 0, pois a primeira vez que retornou não-0 durante o início do MT4. Simpleton: Desculpe, não há nenhuma divisão por zero no código. Consulte a documentação, por favor. Claro, o OP obtém um erro de divisão zero, mas não há divisão por zero no código. Suponho que você esteja se entendendo o que você quer dizer. 2014.06.13 17:11 2014.06.13 17:11:43 10 angevoyageur: Claro, o OP obtém um erro de divisão zero, mas não há divisão por zero no código. Suponho que você esteja se entendendo o que você quer dizer. De acordo com a documentação MarketInfo () NÃO PODE retornar 0 para o parâmetro específico. O fato de isso significar a qualidade da implementação MT4 é bastante pobre. E se MarketInfo () retorna um valor diferente de zero, mas ainda errado Os programadores precisam calcular o mesmo valor MarketInfo () deve retornar e verificar se o MarketInfo () retornou um valor apropriado e eles podem confiar ou não. As funções do sistema devem Aderir estritamente aos seus contratos. Se a documentação indicar que o MarketInfo () não retorna zero (para um parâmetro específico), então NÃO há divisão por zero em 1 expressão MarketInfo (). Mas você afirmou implicitamente que existe. Este é definitivamente o bug do MarketInfo (). E, portanto, é necessária uma solução alternativa. Zero divide no indicador Estou tendo um problema com um indicador livre chamado PZLineAlerts pela PointZero Trading. Eu notei que às vezes esse indicador funciona e às vezes não. No quotExpertsquot log entradas eu encontrei esta linha: PZLineAlerts AUDUSD, M1: zero dividir em PZLineAlerts. mq4 (211,43) Alguém é capaz de me ajudar e obter este indicador funcionando de forma confiável. Seria muito apreciado. Eu poderia até doar uma pequena quantia de dinheiro para você via PayPal. Como eu disse, às vezes esse indicador funciona e às vezes não. Eu encontrei a mensagem de erro esta manhã. Isso deve corrigir o problema de divisão zero e uma divisão zero geralmente desligará seu indicador, então eu suspeito que foi o problema.

No comments:

Post a Comment