Novo MetaTrader 4 Terminal de Clientes 387 e MetaTrader 4 Data Center construído 387 - página 8

 
Não é um relatório de bug, portanto, não há reação.
 

Então você acha que está tudo bem?

Em caso afirmativo, quem precisa dele, o 387-388 constrói?

Muita gente ainda está trabalhando em 225. As pessoas precisam de estabilidade.

 

Ao iniciar a otimização deste EA, o MT4 dá uma mensagem de que não há RAM suficiente neste computador (6GB oo) e inicia a otimização. O botão "Start" permanece ativo ao invés de "Stop". De modo geral, é claramente uma falha. A construção anterior não sofria de tal disparate.

 
Renat:
Não é um relatório de bug, portanto, não há reação.

:)))

(c) "Você vê um gopher? Não! Nem eu. Mas você tem"!

Arquivos anexados:
 

Em 387-388 construções, a reinicialização de amortecedores indicadores personalizados acontece em momentos imprevisíveis. Isto não é bom.

Se a reinicialização for tão necessária, a solução pode ser a seguinte.

Introduzimos uma função adicional em mql4 que pode proibir tal reinicialização ou permitir tal reinicialização.

Introduzimos uma função booleana, que retorna VERDADEIRO se o terminal o reinicia, caso contrário, retorna FALSO. A segunda função é válida se a primeira função permitir a reinicialização.

Desta forma, todos os problemas são resolvidos. Quem precisar, permite a reinicialização automática pela primeira função. Ao mesmo tempo, ela pode controlar os tempos de reinicialização por meio da segunda função.

É possível combinar tudo isso em uma única função. Fica a critério dos desenvolvedores.

E todos estão satisfeitos. Os erros são eliminados. E programadores de terceiros - programadores personalizados - estão segurados contra surpresas.

É uma bela solução.

 
Akkarin:

Ao iniciar a otimização deste EA, o MT4 dá uma mensagem de que não há RAM suficiente neste computador (6GB oo) e inicia a otimização. O botão "Start" permanece ativo ao invés de "Stop". De modo geral, é claramente uma falha. A construção anterior não sofria de tal erro.

Infelizmente, você não especificou nenhum dado inicial, parâmetros de teste ou registros.

Além disso, você está se referindo às bibliotecas (DLL), que não só exigem muitas instalações, mas não funcionam devido à falta de bibliotecas adicionais (este é o autor das bibliotecas, que se esqueceu dos arquivos DLL adicionais).

Peça informações ao autor dessas bibliotecas.

 
nen:

Em 387-388 construções, a reinicialização de amortecedores indicadores personalizados acontece em momentos imprevisíveis. Isto não é bom.

Aparentemente, você não quer verificar seu código inchado, mas está tentando transferir o problema para nós. Sua retórica é absolutamente transparente - "o problema não é meu".

Não me interessa. Eu não tenho nenhum problema. Eu posso refazê-lo para que funcione corretamente. Mas eu não posso refazer todos os indicadores que outras pessoas usam.

Você também está substituindo o significado de "fortes mudanças na história resultam na necessidade de um recálculo completo" por "momentos imprevisíveis". Eles são previsíveis - a história mudou, o que exigiu uma reinicialização completa. Se seu código não quer estar ciente desta situação e não quer se recalcular, então você está se engajando em auto-ilusão.

Demonstrar com uma análise completa o problema. Não em palavras, mas em configurações claras, código, logs, capturas de tela claras, etc.

Como um programador, é sábio ter o apoio técnico, descrito claramente passo a passo. Links fragmentados e mensagens dispersas e não montadas não constituem um relatório de erros.

A qualidade de um relatório é determinada pela reprodutibilidade de seu problema por usuários externos. Tanto quanto sei, até agora ninguém (incluindo os desenvolvedores) nesta linha foi capaz de reproduzir seu problema.

 

Renat.

Estava me perguntando se você pode esperar obter os indicadores personalizados de volta à renderização após um teste no testador. Por enquanto, desabilitei o LiveUpdate em alguns terminais. Veja, para nós - os criadores do "cinema" comercial Forex - não basta ler ou escrever roteiros e ver o filme sem imagens, mas apenas com som. Precisamos ver o que fizemos lá, e até que ponto.

Houve até mesmo pensamentos de que os desenvolvedores desativaram a renderização no MT4, apesar de o MT5 não estar progredindo bem. Se assim for, talvez se descubra que comerciantes e corretores precisam de uma coisa e você está tentando impor outra. Talvez então seja melhor você mudar sua posição nesse sentido.

E se for causado por decisões técnicas precipitadas, que causaram tanto dano aos desenvolvedores de especialistas, então vocês, como programadores, devem ter a bandeira em suas mãos para fazer tudo de bom.

Então, podemos esperar uma solução rápida para esta questão?

 

Bom.

Colocando-o em teste visual. Consultor Especialista em Média Móvel.

Configurando o ZUP.

Euro. Horas.

Por favor, note que meu código rastreia a troca do histórico. Assim, ele se reinicia quando a história está trocando.

Anteriormente, neste ramo, eu postei um pedaço de código. Toda otimização está lá.

Estou colando fotos aqui. Meu código "inchado" destina-se a fazer desenhos, só isso. Não se trata de auto-comercialização. Se uma imagem é desenhada incorretamente, é um bug.

Primeira foto. Uma pequena história. Um raio é desenhado. Tudo é normal.

Quase imediatamente após o início dos testes, vários raios em ziguezague foram desenhados, uma borboleta foi desenhada. Voando normalmente.

Voando mais longe. A SUA reinicialização ocorreu. O software não pode rastrear isto. NÃO HÁ UMA MANEIRA ROTINEIRA DE RASTREAR A REINICIALIZAÇÃO.

Como a otimização dos cálculos está habilitada e não há sinal para um recálculo completo, vemos o resultado:

Um pouco de nova história se acumulou. Um raio em ziguezague foi desenhado:

Se agora reinicializarmos o indicador, haverá uma inicialização e tudo terá este aspecto:

E assim por diante. Não há capacidade interna para rastrear a SUA reinicialização de tampão indicador.

E você não pode recalcular o indicador em cada tick. Faça você mesmo uma bagunça dessas. VOCÊ tem muitas coisas feitas com este espírito por muito tempo. E não importa quantas vezes tenhamos lhe falado de muitos insetos, você não os entendeu. E agora, quando muitos programadores estão apenas cansados de brigar com você e já fizeram suas próprias soluções para seus bugs, você está começando a organizar coisas sorrateiras.

Seu código também cresceu. E você tem pouca idéia das conseqüências de suas inovações.

Vamos testá-lo ainda mais.


Novamente sua reinicialização já passou por várias vezes. Deveria ser assim:

É difícil de reproduzir? Ou talvez você simplesmente não queira?

E mais adiante nos testes, tudo está na mesma veia.

Não culpe os outros. O código tem crescido.

-------

Em conclusão, vou dizer novamente. Não é comigo que estou preocupado. Eu posso programar qualquer um de seus bugs para mim mesmo. Mas não serei capaz de fazê-lo com um grande número de usuários.

Vou acrescentar. Nunca vendi nenhum dos meus indicadores e não desenvolvi nenhum dos meus indicadores por uma taxa. Penso que quando as metaquotas podem mudar tudo fundamentalmente como em 387-388 constrói, ninguém de fora será capaz de construir um bom negócio no desenvolvimento usando linguagens MQL(*). Você ainda não pode oferecer aos desenvolvedores terceirizados uma estrutura de desenvolvimento estável.

E todos os desenvolvimentos pagos usando seus idiomas no momento, considero como algum tipo de esquema.

 
nen:

Bom.

Colocando-o em teste visual. Consultor Especialista em Média Móvel.

Configurando o ZUP.

Euro. Horas.

Por favor, note que meu código rastreia a troca do histórico. Assim, ele se reinicia quando a história está trocando.

Anteriormente, neste tópico, eu postei um pedaço de código. Toda otimização está lá.

Estou colando fotos aqui. Meu código "inchado" destina-se a fazer desenhos, só isso. Não se trata de auto-comercialização. Se uma imagem é desenhada incorretamente, é um bug.

Primeira foto. Uma pequena história. Um raio é desenhado. Tudo é normal.

Quase imediatamente após o início dos testes, vários raios em ziguezague foram desenhados, uma borboleta foi desenhada. Voando normalmente.

Voando mais longe. A SUA reinicialização ocorreu. O software não pode rastrear isto. NÃO HÁ UMA MANEIRA ROTINEIRA DE RASTREAR A REINICIALIZAÇÃO.

Como a otimização dos cálculos está habilitada e não há sinal para um recálculo completo, vemos o resultado:

Um pouco de nova história se acumulou. Um raio zig-zag foi desenhado:

Se agora reinicializarmos o indicador, haverá uma inicialização e tudo terá este aspecto:

E assim por diante. Não há capacidade interna para rastrear a SUA reinicialização de tampão indicador.

E você não pode recalcular o indicador em cada tick. Faça você mesmo uma bagunça dessas. VOCÊ tem muitas coisas feitas com este espírito por muito tempo. E não importa quantas vezes tenhamos lhe falado de muitos insetos, você não os entendeu. E agora, quando muitos programadores estão apenas cansados de brigar com você e já fizeram suas próprias soluções para seus bugs, você está começando a organizar coisas sorrateiras.

Seu código também cresceu. E você tem pouca idéia das conseqüências de suas inovações.

Vamos testá-lo ainda mais.


Novamente sua reinicialização já passou por várias vezes. Deveria ser assim:

É difícil de reproduzir? Ou talvez você simplesmente não queira?

E mais adiante nos testes, tudo está na mesma veia.

Não culpe os outros. O código tem crescido.

-------

Em conclusão, vou dizer novamente. Não é comigo que estou preocupado. Eu posso programar qualquer um de seus bugs para mim mesmo. Mas não serei capaz de fazê-lo com um grande número de usuários.

Vou acrescentar. Nunca vendi nenhum dos meus indicadores e não desenvolvi nenhum dos meus indicadores por uma taxa. Penso que quando as metaquotas podem mudar tudo fundamentalmente como em 387-388 constrói, ninguém de fora será capaz de construir um bom negócio no desenvolvimento usando linguagens MQL(*). Você ainda não pode oferecer aos desenvolvedores terceirizados uma estrutura de desenvolvimento estável.

E todos os desenvolvimentos pagos usando seus idiomas no momento, eu acho que é algum tipo de esquema.

OK. Ok, mais uma vez, vamos colocar todas as emoções para descansar e lidar calmamente com a situação.

O que é dado - testes visuais. Vamos fazer testes visuais e aplicar o mesmo indicador para o registro. Depois de todos esses testes, ficamos com uma triste imagem.

Name;Time;GetTickCount;Bars;LastBarsCount;IndicatorCounted
IndicatorCounted() == 0;2011.02.28 09:39:12;156609840;107;107;0
Новый бар;2011.02.28 09:39:12;156610324;108;107;106
Новый бар;2011.02.28 09:39:13;156610838;109;108;107
... (вырезал)
Новый бар;2011.02.28 09:39:23;156621602;128;127;126
Новый бар;2011.02.28 09:39:24;156621758;129;128;127
IndicatorCounted() == 0;2011.02.28 09:39:24;156622180;2648;2648;0
Новый бар;2011.02.28 09:39:24;156622289;130;129;128
Новый бар;2011.02.28 09:39:25;156622819;131;130;129
Новый бар;2011.02.28 09:39:25;156623147;132;131;130
... (вырезал)
Новый бар;2011.02.28 09:39:31;156629699;144;143;142
Новый бар;2011.02.28 09:39:32;156630027;145;144;143
Новый бар;2011.02.28 09:39:32;156630385;2649;2648;2647
Новый бар;2011.02.28 09:39:33;156631009;146;145;144
Новый бар;2011.02.28 09:39:33;156631399;147;146;145
... (вырезал)
Новый бар;2011.02.28 09:40:15;156673364;275;274;273
Новый бар;2011.02.28 09:40:16;156673785;276;275;274
Новый бар;2011.02.28 09:40:16;156673878;277;276;275
IndicatorCounted() == 0;2011.02.28 09:40:16;156673956;2649;2649;0
IndicatorCounted() == 0;2011.02.28 09:40:16;156674081;2649;2649;0
Новый бар;2011.02.28 09:40:16;156674159;278;277;276
Новый бар;2011.02.28 09:40:16;156674612;279;278;277
... (вырезал)

Новый бар;2011.02.28 09:40:27;156684986;314;313;312

Algo deu errado exatamente no modo de teste visual - há registros com barras iguais a 2648 em vez dos 130 esperados, mas 130 novamente no próximo tick/bars.

Essa é toda a razão, e a reinicialização total não tem absolutamente nada a ver com isso, especialmente em cada carrapato.

Medo dos olhos e das mãos fazem o trabalho. Exatamente 10 minutos para encontrar e descrever o bug.