![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A travagem ObjectGetInterger é a norma?
A travagem ObjectGetInterger é a norma?
Os métodos de obtenção já estão sincronizados, então eles esperam. O trabalho com objetos é feito através de uma fila de comando especial, não através de acesso direto aos objetos.
Para informação, é altamente recomendável não misturar os métodos Set e Get. É melhor pluralizar a escrita e depois pluralizar a leitura. Ou vice versa.
Os métodos de obtenção já estão sincronizados, portanto, eles estão esperando. Os objetos são tratados por uma fila de comando especial, não por acesso direto aos objetos.
Para informação, não é recomendado misturar os métodos Set e Get. É melhor escrever set e depois ler set. Ou vice versa.
Tenho problemas com isso, infelizmente. Mostrado pelo código acima.
Obrigado pelos esclarecimentos.
uma conta real.
A biblioteca é ~2500 vezes mais rápida que a implementação normal. Somente uma abordagem alternativa permite fazer alguns cálculos em tempo razoável.
Para forçar o terminal a alocar memória, você pode executar este script
Ajuste otamanho da matriz ao seu tamanho de RAM
Para forçar o terminal a alocar memória, você pode executar este script
Ajuste otamanho da matriz ao seu tamanho de RAM
Qual é a idéia?
Qual é a idéia?
Aparentemente, coloque o terminal em uma falta de memória e veja se os mecanismos internos para libertá-lo funcionarão.
Aparentemente, se você colocar o terminal em condições de falta de memória, os mecanismos internos de liberação de memória funcionarão.
Sim, o terminal fica sem memória e começa a reiniciar os dados em cache
Surgiu uma situação não-padrão. O Expert Advisor tira uma captura de tela com base no sinal indicador e, se os filtros passarem, dá um comando para abrir/fechar posições.
O nome da imagem da tela contém hora: dia, hora e segundo, por exemplo, CHFJPY_d29_h10_m24_s17. O tempo é tirado da função TimeCurrent().
Há 28 instâncias do Expert Advisor funcionando no terminal. Em algum momento, durante 44 minutos, o terminal pareceu congelar e às 10:27 começou a funcionar normalmente novamente. Aqui está a parte do próprio registro terminal:
Nenhuma interrupção de conexão pode ser vista. A primeira entrada para o EURUSD às 10:27 é o fechamento das 10:14 sl na história da transação.
Abaixo está uma parte do registro da EA. Como você pode ver nos quadros vermelhos superiores, o tempo de registro e TimeCurrent() que está no nome da captura de tela são quase os mesmos.
E nos quadros inferiores, a diferença é de meia hora.
No símbolo CHFJPY, a formação de uma captura de tela com o sinal de abertura ocorreu às 10:12, enquanto que a segunda com o sinal foi formada às 10:24. Mas a abertura/fecho e nova abertura aconteceu em um minuto, às 10:27.
De qualquer forma, tal estranheza aconteceu das 9:43 às 10:27 :
1) TimeCurrent() funciona e recebe o tempo real do servidor, o Expert Advisor recebe sinais corretos do indicador.
2) O registro só foi escrito às 10:27. As capturas de tela foram escritas no meu disco rígido na pasta Arquivos às 10:27, novas ordens (baseadas em sinais antigos) foram abertas às 10:27.
Talvez alguém tenha encontrado isto, qual poderia ser a razão de tais soluços ou lentidões? Por favor, informe qual função deve ser usada para detectar o motivo? Esta situação tem se repetido várias vezes desde abril.
Você pode me dizer quais funções usar para apanhar a causa?
Monitorar a discrepância entre TimeLocal e TimeCurrent.