Erros, bugs, perguntas - página 968

 
sergeev:

tudo depende do tamanho do bitmap

fazer um bilião de vezes a criação + saída de bitmap e o mesmo número de vezes que são criadas e produzidas etiquetas de texto.

e controlar o tempo de saída.

Vou ter de tentar, só mais tarde. Pensei que talvez alguém já tivesse feito este tipo de investigação...
 
tol64:
Não é muito claro que tipo de histograma não se pode desenhar ali. É bem possível que esteja a fazer algo de errado. É preciso um código para o reproduzir, caso contrário não se consegue ver o que se quer dizer.

O histograma pode ser desenhado se o terminal gerir os cálculos. O histograma é desenhado, o terminal está a carregar, é efectuado um cálculo pesado do indicador, o histograma desaparece à espera do cálculo e, quando termina, é exibido, pelo que não é visível no fluxo de cotação. Ao apagar, o terminal faz algo lá e depois apaga o gráfico. Não tenho nada no bloco Deinit para além do apagamento, qual é a pausa no apagamento. Deve haver uma prioridade, e uma sequência de acções para sair de estados críticos do sistema, o histograma não deve desaparecer antes do cálculo, mas antes de um novo histograma ser exibido. E não é o código, claro que carrega o terminal e o algoritmo pode ser tornado mais generoso, mas o facto de 4 ser melhor nele é óbvio.

A OnCalculate é executada a cada tique? E se não o fizer, o que acontece?

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Identifiquei um insecto no cofre. Quando altera a sua palavra-passe no site, o cofre aparentemente não a altera. E tem de cancelar a sua inscrição no repositório e voltar a inscrever-se.
 
zfs:

O histograma pode ser desenhado se o terminal puder tratar do cálculo. O histograma é desenhado, o terminal é carregado, o incómodo cálculo do indicador tem lugar, o histograma desaparece, à espera de cálculo, quando termina é apresentado, revela-se que não é visível no fluxo de cotação. Ao apagar, o terminal faz algo lá e depois apaga o gráfico. Não tenho nada no bloco Deinit para além do apagamento, qual é a pausa no apagamento. Deve haver uma prioridade, e uma sequência de acções para sair de estados críticos do sistema, o histograma não deve desaparecer antes do cálculo, mas antes de um novo histograma ser exibido. E não é o código, é claro que carrega o terminal e o algoritmo pode ser tornado mais generoso, mas o facto de 4 estar a lidar melhor com ele é óbvio.

A OnCalculate é executada a cada tique? E se não o fizer, o que acontece?

Se o código de reprodução é um grande segredo a publicar no fórum, então escreva para o Service Desk. Descreva-o em pormenor e anexe o código.
 
tol64:
Se o código para reprodução é um grande segredo para publicar no fórum, então escreva para o Service Desk. Ser-lhe-á pedido que o descreva em pormenor e lhe forneça o código.

Já assinalei que não tem nada a ver com o código. Pode simplesmente carregar o código com cálculos e elementos gráficos e os inconvenientes desaparecerão por si mesmos. Tudo depende mais do hardware do computador do que do código: um computador rápido apagará o indicador em 2 segundos enquanto um computador lento o apagará em 2 minutos. O mesmo se passa com o gráfico de barras, em algum lugar será sempre visível com um bom recurso e um mínimo de citações, e em algum lugar será visível apenas no arranque. Claro que esta é mais uma questão para o Service Desk e mais uma questão para o terminal, é possível minimizar a possibilidade de congelamento do terminal? Este problema foi em 4, e a situação aqui é ainda pior. No entanto, este é o raciocínio por detrás disto.

A OnCalculate é executada a cada tique? E se não o fizer, o que acontece?

 
Ou mesmo uma situação em que o terminal não é carregado como uma aplicação e só é visível como um processo no gestor de tarefas. O terminal precisa de ser capaz de escapar a situações críticas, como ControlAltDelta no Windows com a opção de desactivar já as aplicações do terminal.
 

zfs:

...

A OnCalculate é executada a cada tique? E se não tiver tempo, o que acontece?

Penso que as carraças que vieram durante alguns longos cálculos serão ignoradas.

Já reparei que o código não tem nada a ver com isso. Basta carregar o código com cálculos e itens gráficos e os inconvenientes aparecerão por si próprios. Tudo depende mais do hardware do computador do que do código: um computador rápido terá um indicador removido em 2 segundos enquanto um computador lento o terá removido em 2 minutos. O mesmo se passa com o gráfico de barras, em algum lugar será sempre visível com um bom recurso e um mínimo de citações, e em algum lugar será visível apenas no arranque. Claro que esta é mais uma questão para o Service Desk e mais uma questão para o terminal, é possível minimizar a possibilidade de congelamento do terminal? Este problema foi em 4, e a situação aqui é ainda pior. No entanto, este é o raciocínio por detrás do assunto.

Então, estabeleça o seu código. Irei testá-lo sozinho. Vamos comparar os resultados. Caso contrário, descrevemos tudo em vão. Aqui não o levam a sério. )))

 
zfs:
Ou mesmo uma situação em que o terminal não é carregado como uma aplicação e só é visível como um processo no gestor de tarefas. O que é necessário é uma forma de tirar o terminal de situações críticas, como ControlAltDelete no Windows com a opção de desactivar as aplicações do terminal.
Posso vê-lo tanto como uma aplicação como um processo. Especificar no Service Desk o sistema operativo, o tamanho e a construção do terminal.
 
double iCloseMQL4(string symbol,int tf,int index){
   if(index < 0) return(-1);
   double Arr[];
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   if(CopyClose(symbol,timeframe, index, 1, Arr)>0)
        return(Arr[0]);
   else return(-1);

}

Assim, eu assumi uma função, a saída é periodicamente -1. A questão é: que mais deve o laço ser ajustado para diferir de -1? Porque é possível esta situação? Porquê copiar toda a matriz se só preciso de um valor não é, de alguma forma, racional.

SetLabel("LPr",chart_ID,"%="+DoubleToString(close[0]/iCloseMQL4(_Symbol,1440,1)*100-100,2),4,34,clrBrown,14);
 
tol64:

Penso que as carraças que entraram durante alguns longos cálculos não serão vistas.

Por isso, afixar o código. Vou testá-lo no meu. Vamos comparar os resultados. Caso contrário, desperdiçámos tudo. As pessoas aqui não o levam a sério. )))

Pensa, mas deve verificá-lo ou ter a certeza).

Vejo uma imagem diferente em computadores diferentes, por isso tenho algo com que a comparar. Não vamos conseguir a verdade de qualquer forma, tudo o que podemos fazer é resmungar no fórum).

Eu corro um terminal com aplicações pesadas, não é carregado como uma aplicação e é apenas visível como um processo. Se eu atirar a aplicação para um terminal aberto, não será pendurada. Mas ao arrancar pende ou não é carregado como aplicação. Por isso, tenho de desinstalar a aplicação antes de sair. Escrevi ao Servicedesk, pedindo para poder fechar a aplicação sem fechar o terminal ou limpar pastas.

Razão: