Seqüência de execução Init() e DeInit() - página 11

 
Alexey Viktorov:
Não é uma vergonha perder seu tempo com brigas tão inúteis sobre tais trivialidades?

Na verdade, é ainda mais importante apenas estar ciente desta peculiaridade.

 
Andrey Dik:

Tenho escrito claramente - mantenha os dados necessários para serem transferidos para a cópia sempre atualizados, você não precisa fazer isso somente ao iniciá-los, mantenha-os sempre atualizados.

Onde esses dados devem estar atualizados? Um exemplo, por favor. Não creio que você possa fazer melhor do que um arquivo. Portanto, só com o arquivo é um enorme problema. Ou você acha que atualizar um arquivo a cada segundo é uma excelente prática?

Todos os outros casos são contornados devido à manivela.

Então, "perturbação temporária nas telas azuis" também é culpa do desenvolvedor do indicador? Este é exatamente o exemplo que ninguém ainda disse como se locomover. E não há como contornar isso.

Se houver um problema com a execução do mesmo indicador ao mesmo tempo, então crie objetos únicos cada vez com um link para o TF e se já houver objetos, adicione 1 ao nome.

Ninguém citou um único caso em que os problemas são intransponíveis devido à maneira atual como o terminal funciona com indicadores. Os problemas ocorrem devido ao manuseio inadequado dos indicadores.

Eu já dei vários exemplos. Mas você simplesmente os dispensa, ou em outras palavras, fecha os olhos para os problemas.

Em geral, muitas pessoas parecem não entender que existem 3 tipos de programas por uma razão (o 4º virá em breve).

Sim, por uma razão. É por causa de uma simples fraqueza humana - parar a meio caminho. Afinal de contas, deve haver 1 tipo de programa em uma plataforma. Nem mais nem menos. O aparecimento do 4º tipo é um aprofundamento da autodestruição.
 
Ihor Herasko:


Sim, por uma razão. Por causa de uma fraqueza humana elementar - parar a meio caminho. Deve haver 1 tipo de programa em uma plataforma. Nem mais nem menos. O aparecimento do 4º tipo é um aprofundamento da autodestruição.

Com esse tipo de atitude em relação aos desenvolvedores, é estranho ouvir você esperar que os desenvolvedores resolvam seu problema.

E se mesmo eu, um ardente lutador por todos os tipos de melhorias e simplificações para a plataforma, não vir um problema, então as pessoas que gostam de parar na metade do caminho certamente não verão um problema.

 
Alexey Viktorov:
Não é uma pena desperdiçar seu tempo em brigas tão inúteis sobre tais trivialidades?
Você está certo, eu estou! Mas você está errado sobre nada.
 
Andrey Dik:

Com esse tipo de atitude para com os desenvolvedores, é estranho ouvir você esperar que os desenvolvedores resolvam seu problema.


Eu tenho uma atitude normal em relação aos desenvolvedores de plataformas )) A fraqueza humana é nosso problema comum, não o problema de seus representantes individuais.

Embora você e eu tenhamos realmente divergido do tema dos tipos de programas. Você deve ter um fio separado para isso. Mas não vejo muito sentido nisso, pois será puramente acadêmico, sem sequer uma pitada de aplicação prática.

O significado do que estou falando é a lógica usual de execução do programa. Esta lógica estava no MT4, e de uma boa maneira deve ser transferida para o MT5. Na verdade, não é uma desvantagem do MT4. Neste caso, é sua vantagem sobre o MT5. Então, se você quer desenvolver o MT5 e esquecer rapidamente o MT4, por que não tirar o melhor do MT4? Bem, é preciso corrigir as deficiências e, pelo menos, melhorar as vantagens. Mas para introduzir novos inconvenientes...

 
Nikolai Semko:
Então é isso!?
Tenho experimentado e utilizado este código de motivo (REASON_CHARTCHANGE) em toda a sua extensão. Qual é a utilidade se todas as variáveis estiverem novamente no seu estado original e o OnDeinit puder ser executado após o OnInit do novo TF

Razões para a desinicialização

Códigos de motivo de desinicialização do Expert Advisor devolvidos por UninitializeReason(). Pode ter qualquer um dos seguintes valores:

.........

Os indicadores só aceitam o código 1(REASON_REMOVE) e o código 2(REASON_RECOMPILE) por enquanto.

 
Georgij Komarov:

Razões para a desinicialização

Códigos de motivo de desinicialização do Expert Advisor devolvidos por UninitializeReason(). Pode ter qualquer um dos seguintes valores:

.........

Os indicadores só aceitam o código 1(REASON_REMOVE) e o código 2(REASON_RECOMPILE) por enquanto.

Você tem certeza?
 
Georgij Komarov:

Razões para a desinicialização

Códigos de motivo de desinicialização do Expert Advisor devolvidos por UninitializeReason(). Pode ter qualquer um dos seguintes valores:

.........

Os indicadores só aceitam o código 1(REASON_REMOVE) e o código 2(REASON_RECOMPILE) por enquanto.

Esta é uma informação obsoleta. Após inúmeras solicitações, começamos a enviar outros motivos para os indicadores

Houve muitas discussões também. É estranho que ninguém se lembre das diferentes cópias dos indicadores

 
Ihor Herasko:


Eu tenho uma atitude normal em relação aos desenvolvedores de plataformas )) A fragilidade humana é nosso problema comum, não o problema de seus representantes individuais.

Embora você e eu tenhamos de fato nos desviado do tema dos tipos de programas. Deveríamos ter iniciado um ramo separado para isto. Mas não vejo muito sentido nisso, porque será puramente acadêmico, sem sequer uma pitada de implementação prática.

O significado do que estou falando é a lógica usual da execução do programa. Tal lógica estava na MT4, e de uma boa maneira deve ser transferida para a MT5. Na verdade, não é uma desvantagem do MT4. Neste caso, é sua vantagem sobre o MT5. Então, se você quer desenvolver o MT5 e esquecer rapidamente o MT4, por que não tirar o melhor do MT4? Bem, temos que corrigir as deficiências e, no máximo, melhorar as vantagens. Mas para introduzir novos inconvenientes...

É isso aí, estamos reclamando...

Você está perguntando exatamente o que não está disponível em aplicações desktop normais. Se os desenvolvedores não fizessem todas essas características que já estão "fora da caixa", os escritores dos programas MQL enfrentariam constantemente todos os encantos do desenvolvimento da área de trabalho, sejam problemas de segurança ou de velocidade.
 
Nikolai Semko:

Pergunta muito questionável sobre nada complicado. Tente realmente repetir pelo exemplo de um simples relógio de pulso o que eu implementei neste produto. Na roda de pulso você muda o período com o mouse e depois, quando você muda o TF, as mudanças devem ser salvas. E você verá que não há nada de complicado. E se você precisar passar um array. E você vai ver como é "simples". Talvez, eu mesmo pensaria assim, se ainda não o tivesse implementado.

Qual é o problema de armazenar o período em uma variável principal?

Por que seria necessário transferir uma série de dados entre execuções sucessivas do indicador em diferentes TFs?

Razão: