Zero Divide em dois indicadores em TF menores - página 2

 
Rogerio Figurelli:

Olá  Flavio Jarabeck, o problema maior que comentei é em relação ao assunto desse tópico e a arquitetura do sistema, e não nesse sentido que você está apresentando, e essa me parece uma discussão muito negativa, inclusive sujeita à remoção do fórum ( https://www.mql5.com/pt/about/rules). 

Entretanto, acredito que suas intenções sejam as melhores possíveis, buscando ajudar na melhoria do produto, e portanto, sugiro seguirmos nessa linha, com uma discussão positiva, que agregue valor para todos.

Nesse sentido, seguem meus contrapontos no que você comentou:


Na minha opinião você está subestimando o problema e a capacidade dos criadores dessa tecnologia. Note que apesar de o MQL ser uma linguagem de programação C-like, ela é 100% focada na criação de trading systems, e portanto me parece que as prioridades na criação dos parsers da linguagem são aumentar segurança, diminuir latência, etc., diferentes das prioridades de quem cria uma linguagem para aplicações genéricas, como C++, Java ou Python.

Dessa forma, me parece mais apropriado, se acreditamos e confiamos no produto, criar soluções de contorno, como as que proponho em https://www.mql5.com/pt/forum/23409 do que esperarmos por uma abertura maior. No caso do assunto desse tópico, como apresentei inicialmente e foi realçado por vários colegas experientes, a proteção contra divisão por zero, NULL, etc. é básico nesse ambiente, e na minha opinião em qualquer outro.

Até onde eu saiba o update não é automático, ou seja, você tem que aprovar ele. Seja como for, me parece que você está misturando problemas independentes, pois não conheço nenhum produto competitivo, seguro e estável, ainda mais para criação de trading systems, onde as atualizações nas sejam recorrentes.

Sds.,
Rogério Figurelli

Se falar a verdade é muito NEGATIVO, me remova...

Eu apenas estou falando a verdade...

Não sou um imbecil qualquer...Programo desde os 14 anos de idade, hoje tenho 51.

Eu, como muitos ao redor do mundo, contam com o Metatrader, que é de uma empresa Russa, baseada no Chipre, e, sem suporte oficial no Brasil. Suporte esse que é feito, por almas caridosas como você e eu...

Mas isso não quer dizer que tenho que ficar quieto às porcarias de implementações que o MQL5 tem:
:: Error Handling Exception - [REMOVIDO PELO MODERADOR].

:: Server Hook Callbacks - Não existem!  (Peça Ticks do servidor e, ao não receber, sua vida vira um inferno...)

:: Diferenças Elementares entre 0, NULL e EMPTY_VALUE - Bizarros!

:: Não existe BETA TESTING para a Metaquotes. Assim que eles decidirem que precisam de mais usuários para validar qualquer update novo, virá goela abaixo da galera. Cansei de ouvir e reclamar disso no Fórum em Inglês. participo dos Fóruns em Inglês/Espanhol/Português.

:: O suporte da Metaquotes passou a ser apenas financeiro. Qualquer outro assunto, eles não respodem...

:: Suporte da Linguagem MQL5 deixou de ser oficialmente mantida no Fórum pela empresa, delegando-a  "Local Supporters"...

Diante desse cenário, me diga, como posso acreditar no futuro do MQL5/MT5?

 
Flavio Jarabeck:

Se falar a verdade é muito NEGATIVO, me remova...

Eu apenas estou falando a verdade...


Olá  Flavio Jarabeck, para mim a prova que você, como eu, acredita no futuro do MQL é sua participação intensa nesse fórum, descrita em detalhes por você mesmo.
Note que suas críticas são negativas no sentido de me parecerem bastante depreciativas e os pontos que você assume como falando a verdade me parecem bastante subjetivos, mas removendo algumas palavras que considero impróprias para esse fórum, não mudaram minha perspectiva de suas reais intenções e de que elas podem contribuir para todos.
Como sou um pouco mais velho que você (54 anos), e talvez experiente, pois programo em assembler desde os 12 anos, na época em que se "programava por fios" e depois se "perfurava cartões", atuando em pesquisas de microeletrônica na faculdade desde os 16 anos, e tendo atuado todo esse jurássico tempo em P&D, talvez meu critério de verdade seja bem mais objetivo, focado em buscar soluções para os problemas existentes e buscando entender o posicionamento estratégico do fabricante, que busca atender diversos mercados em um complexo modelo competitivo de desenvolvimento de trading systems, onde raramente uma empresa pertencente ao BRICS tem alguma chance de participação. 
Diante de um cenário assim, e com nossa responsabilidade dessa experiência na área, penso que podemos atuar como lideranças positivas ou negativas, e prefiro a primeira, pois minha visão é que o MT5 é a melhor plataforma de desenvolvimento e operação de trading systems, consolidada no Forex, e está evoluindo rapidamente nos demais mercados, justificando o grande crescimento e a enorme dimensão de usuários internacionais.
Sds.,
Rogério Figurelli

 

Procurando solução para esse erro e lendo aqui sobre os pontos positivos e negativos, acabei encontrando um detalhe, nem vou chamar de erro que pode gerar esse erro de divisão, isso foi no meu caso.

Eu tenho um loop for que soma o volume para fazer uma média, sei que tem como usar o indicador do próprio mt5, mas preferi fazer na mão.

Em um indicador configurado para timeframe de 5 minutos estava funcionando, e em outro que fiz com o mesmo código, mas com resultados para 2 minutos ficou dando esse erro.

Até que notei uma única diferença entre ambos, onde eu usava direto o vetor Volume[] no de 5 minutos, e acabei resumindo instânciando vol[i] = volume[i], e usando o vol[i] em todo o código.

Mas no loop isso começou a gerar o erro de divisão, então voltei para o modo antigo deixando assim:

for(int j = 1; j <= len; j++){
        soma += volume[j-1];
}

Então parou o erro, e testei voltando para "vol", e o erro volta a acontecer.

Se alguém puder explicar porque pode acontecer isso seria interessante.