Erros, bugs, perguntas - página 2912

 
Kira27:

Muito obrigado!! Onde posso ler sobre isso?

Encontrei-o))) --- Cada objecto gráfico deve ter um nome único dentro de umgráfico, incluindo as suas sub-janelas. A alteração do nome de um objecto gráfico gera dois eventos: o primeiro é o evento de apagar o objecto com o nome antigo e o segundo é o evento de criar um objecto gráfico com um novo nome. A questão é porquê complicar tanto a vida do programador?

Операции с графиками - Справочник MQL4
Операции с графиками - Справочник MQL4
  • docs.mql4.com
Функции, устанавливающие свойства графика, фактически служат для отправки ему команд на изменение. При успешном выполнении этих функций команда попадает в общую очередь событий графика. Изменение графика производится в процессе обработки очереди событий данного графика. По этой причине не следует ожидать немедленного визуального обновления...
 
Konstantin Seredkin:

Quem se deparou com isto

Vin 10

Construção do terminal 2715.

Depois de ter feito qualquer optimização do Expert Advisor, depois de ter fechado o terminal, os agentes ainda estão pendurados nos processos, consumindo RAM.


Como se o volume da RAM não fosse crítico é muito, mas quando dirijo o jogo, devido ao facto de a memória se referir constantemente a um monte de atrasados, tenho quedas de FPS de pelo menos 20 frames.

Tenho de sobrecarregar o computador ou sentar-me um processo de cada vez para matar...

Honestamente, já começa a ser irritante.

Diz-me se este ou mais erros foram concebidos, com excepção do terminal de abertura do corretor, nada mais é colocado, de vez em quando é actualizado, qualquer ou manipulações com ele não o foram.

Os agentes estão à espera de alguns minutos para os próximos testes, para que as tarefas sejam mais rápidas.

Descarregado automaticamente após alguns minutos de inactividade.

 
Aleksei Lesnikov:
Obrigado, essa é uma opção!
E se o intervalo for de vários milhares, ou mesmo dezenas de milhares de números?

esta opção embaralha-se aleatoriamente através de um conjunto de qualquer tipo até um tamanho de 1 073 741 824 o mais rapidamente possível.

void OnStart() {
   int i1[]= {1,2,3,4,5,6,7,8,9,10,11,12,13};
   ArrayPrint(i1,0);
   MixArray(i1);
   ArrayPrint(i1,0);

   string str ="abcdefghijklmnopqrstuvwxyz";
   Print(str);
   uchar c[];
   StringToCharArray(str,c);
   ArrayResize(c,ArraySize(c)-1);
   MixArray(c);
   str=CharArrayToString(c);
   Print(str);
}
//+------------------------------------------------------------------+

template <typename T>
void MixArray(T &arr[]) {
   int size = ArraySize(arr);
   for (int i=0; i<(size-1); i++) {
      T temp = arr[i];
      int j=(rand()<<15|rand())%(size-i);
      arr[i]=arr[i+j];
      arr[i+j]=temp;
   }
}

resultado:

2020.11.28 20:24:09.009 MixArray (EURUSD,M6)     1  2  3  4  5  6  7  8  9 10 11 12 13
2020.11.28 20:24:09.009 MixArray (EURUSD,M6)     2 11  4  9 10  1  8  7  5  6 13  3 12
2020.11.28 20:24:13.114 MixArray (EURUSD,M6)    abcdefghijklmnopqrstuvwxyz
2020.11.28 20:24:29.322 MixArray (EURUSD,M6)    rhxuwjlyzkobpcvnefdmqasitg
 
MetaQuotes:

Os agentes esperam alguns minutos para que os próximos testes funcionem mais rapidamente nas tarefas.

Descarregado automaticamente após alguns minutos de inactividade.

Tenho-os sempre comigo até os descarregar, quando fiz a captura de ecrã, utilizando o MT5 estava terminado no sábado de manhã quando o mercado fechou no meu fuso horário, no domingo sentei-me para jogar jogos e comecei a matar processos.

Provavelmente o problema está do meu lado, apesar de ter reinstalado a licença há um mês atrás.

 
Nikolai Semko:

esta opção embaralha-se aleatoriamente através de um conjunto de qualquer tamanho até 1.073.741.824 o mais rapidamente possível.

resultado:



Obrigado!
 
Alexey Viktorov:

Porque quando um objecto é renomeado, é recriado. Um é eliminado, o outro é criado e na lista de todos os objectos são dispostos por ordem de quando foram criados.

Por favor, corrijam-me se me enganei))))

Quando se muda o nome de um objecto nulo, este é apagado e recriado para ser o último da lista (3)? E em 4 integrações de selecção de objectos por ordem na lista, irão eles alinhar-se no seu estado original? ?

 
Kira27:

Por favor, corrijam-me se me enganei))))

Quando se muda o nome de um objecto nulo, este será apagado e recriado como o último objecto da lista (3)? E em 4 integrações de selecção de objectos por ordem na lista, eles irão alinhar-se no seu estado original?

O que o impede de verificar?

 
Alexey Viktorov:

O que o impede de verificar?

Fi-lo, antes de escrever para ter a certeza de o ter compreendido correctamente, porque o resultado da verificação da selecção do objecto continua a ser o mesmo

 
Kira27:

Verifiquei antes de escrever para ter a certeza de o ter compreendido correctamente, porque o resultado da verificação da selecção dos objectos continua a ser o mesmo.

Embora eu tenha agora fechado o terminal e o editor, aberto novamente, executado o código 2 vezes e tudo esteja normal, a selecção está correcta. Reparei que por vezes preciso de recarregar o editor para o correcto processamento do código, de que se trata?

 
Kira27:

Verifiquei antes de escrever para ter a certeza de o ter compreendido correctamente, porque o resultado da verificação da selecção do objecto continua a ser o mesmo

Não é a mim que devem compreender, é a documentação. Sugeri a ordenação com base numa lista de ordens ou posições. E num dos fios, Slava disse que basta simplesmente esconder o objecto e voltar a exibi-lo, para que esteja acima de todos os outros e seja o primeiro a obter o evento do "clique do rato". Se estiver errado, lamento. Descubra como a lista é ordenada e diga a todos. Eu também vou mudar de ideias.