Erros, bugs, perguntas - página 1157

 
marketeer:
Clarificar a questão - o progresso deve funcionar no indicador. O seu código, quando transferido para o indicador, deixa de exibir o comentário no momento da execução.
Se fizer o laço do indicador, pode "suspender" todo o terminal. Mas o Expert Advisor permite-lhe gozar com os fios como quiser.
 
marketeer:
Para esclarecer a questão - o progresso deve funcionar no indicador. O seu código, quando transferido para o indicador, deixa de exibir o comentário no momento da execução.

A partir da ajuda da MQL4:

Programas de execução

Um breve resumo dos programas em MQL4 é apresentado na tabela abaixo:

Programa

Execução

Nota

Roteiro

No seu próprio fio condutor, tantos roteiros quantos os fios de execução para eles

Um guião em loop não pode interromper o trabalho de outros programas

Perito

No seu próprio fio, tantos especialistas - tantos fios de execução para eles

Um perito em loop não pode interromper o trabalho de outros programas

Indicador

Um fio de execução para todos os indicadores num só símbolo. Tantos símbolos indicadores - tantos fios de execução para eles

Um loop infinito num único indicador parará todos os outros indicadores neste símbolo

 
barabashkakvn:
Se o indicador estiver em loop, todo o terminal pode ser "pendurado". Mas o Expert Advisor permite gozar com os fluxos como quiser.

Bem, o facto de um indicador poder pendurar o terminal é uma falha do próprio terminal. E os cálculos analíticos, não relacionados com o comércio, devem estar no indicador - especialmente porque requer a visualização de buffers, ou seja, também não é uma tarefa para o guião.

Não há nada em loop no indicador - no sentido de que não há loop infinito. Há um cálculo controlado, mas leva tempo.

 
marketeer:

...

Nada é feito de loop no peru - no sentido de que não há loop infinito. Há um cálculo controlado, mas leva o seu tempo.

Em que chamada de função indicadora é que efectua o cálculo?
Se precisar realmente de efectuar tais cálculos, "cálculo de lote" faz sentido.

 
Aqui estava o tópico:https://www.mql5.com/ru/forum/23162
Порционное вычисление в индикаторе
Порционное вычисление в индикаторе
  • www.mql5.com
Индикатор производит вычисление одного значения для бара достаточно длительное время (запрос к БД, вычисление на стороне БД, возврат значения функции). - - Категория: технические индикаторы и анализ рынка форекс
 
barabashkakvn:
Em que chamada de função indicadora é que efectua o cálculo?
Se precisar realmente de efectuar tais cálculos, faz sentido "calcular em lote".

O código duro está na parte de cálculo, não no inite se for essa a questão. O "cálculo por lotes" é um incómodo separado para salvar e restaurar estados intermédios, e abranda o processo em si. Não é uma opção.
 
joo:
Afinal de contas, como se utiliza o compilador da consola se esta for removida pelo terminal?

Porque é que está no terminal? O terminal tem todos os seus próprios terminais.

Basta manter o compilador noutro lugar.

 
Renat:

Porque é que está no terminal? O terminal tem todos os seus próprios terminais.

Basta manter o compilador noutro lugar.

Sim, é compreensível que a saída seja manter o compilador numa pasta diferente da do terminal. Mas os novos ficheiros *.ex5 também não serão criados na pasta terminal, o que significa que devem ser constantemente movidos para o local certo... Embora, poderia haver uma chave de comando para especificar o caminho dos ficheiros compilados?
 
joo:
Sim, é compreensível que a saída seja manter o compilador numa pasta diferente da do terminal. Mas os novos ficheiros *.ex5 também não serão criados na pasta terminal, o que significa que devem ser constantemente movidos para o local certo... Embora, poderia haver uma chave de comando para especificar o caminho dos ficheiros compilados?

Sim, pode especificar um directório padrão na chave /i:

E:\>mql64.exe
MQL4/MQL5 Compiler x64 build 937 (15 May 2014)
Copyright 2001-2014, MetaQuotes Software Corp.

Usage: mql64.exe [<flags>] filename.mq5
                /mql5     - compile mql5 source
                /mql4     - compile mql4 source
                /s        - syntax check only
                /i:<path> - set working directory
 
EX5 será criado no local do ficheiro mq5 original.