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

 
nen:

Isto não é um bug de modo visual. Está exatamente zerando os amortecedores indicadores - reinicializando os amortecedores com a versão 388.

Infelizmente, você está enganado. É um trabalho padrão do mecanismo chamado IndicatorCounted() - reinicialização de buffers indicadores em mudanças significativas da história (este mecanismo estava em todas as construções).

Neste caso, há um bug no modo visual (não o encontrei no modo real durante a semana). Eu já descrevi o que é o bug.

 
AlexSTAL:
Encontrei completamente a razão para este comportamento no posto abaixo.

Obrigado por verificar, agora está claro onde cavar.

Tentaremos encontrá-lo, consertá-lo e liberar uma atualização o mais rápido possível.

 
AlexSTAL:
Então aí está - você está respondendo sua própria pergunta

Meu erro, IndicatorCounted() não se aplica em desenvolvimentos recentes. Isso só acontece na ZUP. E não se percebe esta reinicialização.
 
Quero informá-lo que no terminal e na última construção existe um Bug, ou seja, o indicador iBands ao especificar o parâmetro de desvio 0,8 coloca 0. Entendo que este parâmetro pertence à int e deve ser um inteiro. Mas ao anexar o indicador ao gráfico, o valor do desvio pode ser ajustado para menos de 1. Por que é possível definir desvio menor que 1 no gráfico, mas não no Expert Advisor ...... ou como superar isso ..............
 
VOLDEMAR:
Quero informá-lo que no terminal e na última construção existe um Bug, ou seja, o indicador iBands ao especificar o parâmetro de desvio 0,8 coloca 0. Entendo que este parâmetro pertence à int e deve ser um inteiro. Mas ao anexar o indicador ao gráfico, o valor do desvio pode ser ajustado para menos de 1. Por que é possível colocar menos de 1 na tabela, mas não no Expert Advisor ...... ou como superar isso ..............
Sempre foi assim, tanto quanto eu me lembro. Caso contrário, Slava (stringo) irá me corrigir.
 
VOLDEMAR:
Quero que você saiba que no terminal e na última construção há um Bug, ou seja, o indicador iBands ao especificar o parâmetro de desvio 0,8 coloca 0 . Entendo que este parâmetro pertence à int e deve ser um inteiro. Mas ao anexar o indicador ao gráfico, o valor do desvio pode ser ajustado para menos de 1. Por que é possível definir desvio inferior a 1 no gráfico, mas não no Expert Advisor .............. ou como evitá-lo

Sim. Veja o tipo de parâmetros passados.

é int.

então use iCustom BBands

 
sergeev:

Sim. Veja o tipo de parâmetros passados.

é int

então use iCustom BBands

e como utilizá-lo ?????

nunca utilizado ....

 
VOLDEMAR:

e como utilizá-lo ?????

nunca utilizado ....

É uma boa razão para começar. Há sempre uma primeira vez para tudo. :)
 

O terminal obviamente carece de uma função como GetTerminalState que deve retornar algum código (conjunto de bits) que pode ser usado para "perguntar" diretamente ao terminal o que ele está fazendo agora, por exemplo, IsConnected (que, por sinal, nem sempre retorna o resultado corretamente após os re-logins) apenas informa sim ou não:

- offline (tentando se conectar, não funcionando, parado)

- conectando (tentando conectar)

- conectado (conectado ao servidor)

No último caso, também é necessário um esclarecimento:

- HistoryOrdersLoading, HistoryOrdersLoaded (baixado, todo o histórico de pedidos é baixado).

- HistoryBarsLoading, HistoryBarsLoaded (baixado, todo o histórico por preços).

Além disso, durante o processamento do pedido é útil saber que um comando para abrir um pedido foi enviado e agora o terminal está aguardando sua abertura, modificação ou fechamento. Uma ordem nunca é executada imediatamente e seria bom saber o que o terminal está pensando (ticks estão ticking mas o terminal não está negociando por alguma razão - por quê?)

Você também pode "embalar" o status de permissão de trabalho/transação da EA.

 
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á mudando.

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 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 está inchado.

-------

Em conclusão, vou dizer novamente. Eu não estou preocupado comigo mesmo. Posso contornar qualquer um de seus bugs de forma programática para mim. Mas os usuários - e há muitos deles - não poderão fazê-lo.

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.

Todos os desenvolvimentos pagos usando seus idiomas são considerados uma espécie de evasão.


Fez tudo como descrito. Mas com algumas modificações.

  1. No terminal do cliente, eu defini a saída no log em OUR buffers de reinicialização.
  2. No indicador ZUP colocar impressão ao apagar a borboleta.

Aqui está o registro.

15:45:16 Compiling 'ZUP_v92'
15:45:16 ZUP_v92 EURUSD,H1: loaded successfully
15:45:40 ZUP_v92 EURUSD,H1: initialized
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=1094
15:45:41 custom indicator ZUP_v92 EURUSD,H1 buffer reinitialize
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
...
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:08 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
...
15:55:15 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:15 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1035
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036

Após a última eliminação das borboletas (duas linhas triangulares eliminadas), não houve reinicialização do buffer!

A propósito, o mesmo comportamento é reproduzido em sua construção favorita 225

Razão: