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

 
nen:

Essa é a questão. Verei como funciona amanhã, depois de atualizar o terminal a partir do CD. Se tudo é como Vadim escreveu, então... há mais do que apenas uma otimização para se dizer adeus. Provavelmente teremos que adicionar algum código extra para preencher o buffer. E isso terá que ser feito em todos os indicadores.... E sua quantidade imensurável é difundida através de fóruns.

Agora o buffer é recalculado apenas na última seção.

No lado bom, não é o amortecedor que precisa ser reinicializado, mas a procura de onde os erros ocorrem quando a história é trocada. E isto desloca os dados "tampão" no gráfico.

Caso contrário... Onde agora há várias dezenas de indicadores nos gráficos conectados e ainda assim o computador não está pendurado, haverá um computador completo pendurado no mercado rápido, e não apenas rápido.

Este ponto requer esclarecimento por parte dos desenvolvedores.

Eu tinha um palpite de que este lugar estava armadilhado. Foi por isso que perguntei sobre este ponto de inovação...

Com esta abordagem, nenhum desenvolvimento pago baseado no Metatrader deve ser mencionado. Meus clientes me matariam por tais falhas... É por isso que sempre rejeitei sugestões de desenvolvimentos pagos.


O problema pode ser discutido no balcão de serviço. Seria mais produtivo do que aqui.
 
nen:

A boa notícia é que a reinicialização do buffer só deve ser feita quando se troca um histórico perdido.


Exatamente. Se não for este o caso, dê-nos um exemplo para reproduzir. Antes que seja tarde demais, nós o consertaremos.
 
nen:
A discussão está encerrada.

Renat acima deu o endereço para contato. E esse endereço é meu. Eu também disse (sem ter visto seu posto ainda) que deveria entrar em contato com o balcão de atendimento - seria mais produtivo.
 

Eu apaguei alguns dos postes deste tópico. O tema é considerado como puramente relacionado ao trabalho. Peço desculpas se ofendi alguém.

 

Uma pergunta sem complicações.

Como descrito na ajuda:

"Desconectar um programa de um gráfico, alterar um instrumento financeiro e/ou período do gráfico, alterar uma conta, fechar um gráfico e encerrar o terminal do cliente interrompe a execução do programa. Se a função start() estava em execução no momento do comando de desligamento, o tempo de execução restante é limitado a 2,5 segundos. O programa pode aprender que está sendo tentado terminar usando a função IsStopped() integrada e terminar corretamente".

Entretanto, os protocolos e registros mostram que é possível interromper e terminar um script preso do lado do servidor, e/ou chamar a reinicialização de EAs e indicadores.

Ou seja, nenhuma dessas ações foi realizada por um usuário, mas todos os indicadores, conselheiros e scripts reagiram totalmente como se a conta fosse alterada...

Posso pedir-lhe que remova esta ficção?

;)

 
Sorento:

Entretanto, os protocolos e logs mostram que o servidor pode interromper e terminar a execução de um script bloqueado, e/ou causar a reinicialização de conselheiros e indicadores.

Ou seja, nenhuma dessas ações foi realizada por um usuário, mas todos os indicadores, conselheiros e scripts reagiram totalmente como se a conta fosse alterada...


Protocolos e logs para o estúdio.

Essa "característica" não existe e nunca existiu.

 
stringo:


Protocolos e logs para o estúdio.

Não existe tal "característica" e nunca existiu.

Isso não é verdade, tio...

02:52:03 HistoryCenter: sincronizar o 'USDCAD1'.
02:52:03 Roteiro Stels_Lock USDCAD,M1: removido
02:52:03 HistoryCenter: 2 barras importadas em 'USDCAD1'.
04:20:05 '57603': a conexão falhou [Sem conexão]
04:20:40 '57603': login

12:06:09 Roteiro Stels_Dock USDCHF,M1: carregado com sucesso
12:07:17 Roteiro Stels_Dock USDCHF,M1: removido
12:07:23 Indicador personalizado iExposure EURGBP,M1: removido
12:07:23 Expert DirectLC CHFJPY,M1: removido
12:07:23 Indicador personalizado iExposure CHFJPY,M1: removido
12:07:23 Expert DirectLC USDCAD,M1: removido
12:07:23 Indicador personalizado iExposure USDCAD,M1: removido

Isto é o que sobrou do diário de bordo do terminal.

Agora, o que fez (e ainda faz) o terminal escrever para o diário de bordo do Expert Advisor -

02:52:03 Stels_Lock USDCAD,M1: deinicializado
02:52:03 Stels_Lock USDCAD,M1: razão uninit 0
02:52:03 Stels_Lock USDCAD,M1: removido
04:20:42 DirectLC USDCHF,M1: desinicializado
04:20:42 DirectLC USDCHF,M1: razão uninit 6
04:20:42 DirectLC USDCHF,M1: Spred USDCHF =3
04:20:42 DirectLC USDCAD,M1: desinicializado
04:20:42 DirectLC USDCAD,M1: razão uninit 6
04:20:42 DirectLC USDCAD,M1: Spred USDCAD =4
08:16:41 DirectLC USDCHF,M1: Rez=-1 Mashtab=10000
08:16:41 DirectLC USDCHF,M1: inicializado
08:16:41 DirectLC USDCAD,M1: Rez=-1 Mashtab=10000
08:16:41 DirectLC USDCAD,M1: inicializado
12:06:09 Stels_Dock USDCHF,M1: carregado com sucesso
12:07:17 Stels_Dock USDCHF,M1: removido
12:07:17 iExposure EURGBP,M1: desinicializada
12:07:17 iExposure EURGBP,M1: razão uninit 1
12:07:17 iExposure EURGBP,M1: removido
12:07:17 iExposure CHFJPY,M1: desinicializada
12:07:17 iExposure CHFJPY,M1: razão uninit 1
12:07:17 DirectLC CHFJPY,M1: desinicializada

Trechos finais de protocolos de scripts internos - USDCAD

2011.02.25 02:52:03 312 + 892844 : 57603 : 6 < 2011.02.25 02:52:03 : VENDA: 0,98240000 Antigo= 0,98190000 __-0,00006 spred= ___0,00040 MD= 0,982173 / 0,982006
2011.02.25 02:52:03 312 + 0000 : 57603 : 7 < 2011.02.25 02:52:03 : Vol= 0.10000000 / 0.10000000
2011.02.25 02:52:03 312 + 0000 : 57603 : 8 < 2011.02.25 02:52:03 : ***PricesS= 0.98240000 Licitação : 0.98240000 Vol: 0.10000000
2011.02.25 02:52:03 343 + 0031 : 57603 : 9 < 2011.02.25 02:52:03 : # -7 - Preço alterado. Bid=.9822-> 0.9818 / 0.9822 <- .9818|P:.9824
2011.02.25 02:52:03 546 + 0203 : 57603 : 0 < 2011.02.25 02:52:03 : Erro.
2011.02.25 02:52:03 546 + 0000 : 57603 : 1 < 2011.02.25 02:52:03 : Programa deinit.

& USDCHF

2011.02.25 01:43:53 781 + 0000 : 57603 : 5 < 2011.02.25 01:43:53 : ***PricesS= 0.92570000 Licitação : 0.92570000 Vol: 0.10000000
2011.02.25 01:43:54 140 + 0359 : 57603 : 6 < 2011.02.25 01:43:54 : ***Error(OrderSend - 138 ): 0,92600000 / 0,92570000 Preços: 0,92570000 / 0,92570000 TP: 0,91670000 ST: 0,000000
2011.02.25 01:43:54 140 + 0000 : 57603 : 7 < 2011.02.25 01:43:54 : Vol= 0.10000000 / 0.10000000
2011.02.25 01:43:54 140 + 0000 : 57603 : 8 < 2011.02.25 01:43:54 : ***PricesS= 0.92570000 Licitação : 0.92540000 Vol : 0.10000000
2011.02.25 01:43:54 140 + 0000 : 57603 : 9 < 2011.02.25 01:43:54 : Mudanças de preço...
2011.02.25 01:43:54 140 + 0000 : 57603 : 0 < 2011.02.25 01:43:54 : Programa deinit.

E à observação razoável de que a razão deinit poderia ser a lógica do programa - quero notar que os registros terminais não são necessários então - por que depois do relogging - tudo que sobreviveu foi reiniciado. mas o relogging não foi iniciado por um usuário!

O terminal não reiniciou até 12 e depois para descarregar os logs, assim como o computador - que ainda funciona.

E quase todos estavam dormindo... ;)

Os textos completos estão anexados.

Arquivos anexados:
arx.zip  10 kb
 

Eu entendo o que você quer dizer. Este comportamento não será alterado. Desculpe.

 

Portanto, faça ajustes na referência.

Para simplórios como eu...

;)

 

A atualização do terminal Build 388 acaba de chegar.

Após testar os EAs é impossível ver se eles foram comercializados corretamente, porque os indicadores personalizados não são apresentados no gráfico aberto.

Se isto é o que está escrito no início do ramo a respeito da desinicialização, os desenvolvedores têm um grande apelo, simplesmente "chorando" para remover o modo de desinicialização dos indicadores personalizados após o teste. Esta é uma das partes mais importantes do desenvolvimento e controle comercial da EA.

É inconveniente, trabalhoso e demorado fazer modelos para cada período, e muitos outros ajustes. A saída imediata do indicador personalizado para o gráfico após qualquer teste, sem nenhum modelo adicional, foi extremamente conveniente. E hoje eu tentei, assim como os cegos. É simplesmente horrível.

Eu nunca desejei que meu inimigo o testasse no escuro. Eu venho desenvolvendo EAs há muitos anos, acredite-me, e este é um assunto muito sério. Renat e Stanislav, peço-lhes pessoalmente que não ignorem esta questão e que não a abordem de ânimo leve. Seu produto é usado por milhões de pessoas. O MT5 é ótimo, mas o desenvolvimento de Expert Advisors para o comércio real tem que ser feito no MT4. MT4 carece de muitos indicadores básicos, tais como PriceChanal, LRMA e outros. É por isso que temos que desenvolvê-los usando indicadores personalizados e geralmente existem vários deles. E depois disso para cotações de mercado, após os testes temos que verificar tudo em detalhes, em que lugar em relação aos indicadores havia inclusões, precisão da colocação de pedidos pendentes, forma de descrição do mercado por indicadores e muitas outras coisas. Que tal agora?

(Pergunto ao moderador do fórum, se Renat e Stanislav ou quem quer que dependa não ler isto, por favor transmita meu pedido. Penso que será em nome da maioria dos desenvolvedores da EA).