Erros, bugs, perguntas - página 2810

 
A100:

## tem uma maior prioridade

Na minha opinião, não se trata sequer de prioridade, mas sim da ordem fundamentalmente errada da substituição de macros:

#define  aaa
#define  XY( x, y )      x##y
#define  XY2( y )        XY( aaa, y )
void OnStart()
{
        int XY2( bbb ) = 5;
        Print( aaabbb ); //Error: 'aaabbb' - undeclared identifier
}
e esperava-se que estivesse tudo bem - como em C++
 
A100:

Na minha opinião, não se trata sequer de prioridade, mas sim da ordem fundamentalmente errada da substituição de macros:

enquanto se esperava que tudo estivesse bem - como em C++
XY2(bbb) no seu exemplo desdobra-se em bbb. Aqui tudo está correcto.
#define aaa remova))))
 
Vladimir Simakov:
XY2(bbb) no seu exemplo desdobra-se em bbb. Tudo bem aqui.
#define aaa remova))))

Parece estar fora do seu alcance. Primeiro verifique o exemplo em C++ e depois escreva

#define aaa - não há necessidade de o remover; destina-se a mostrar um erro fundamental. Em C++, as macros são concebidas de tal forma que qualquer resultado necessário pode ser projectado, enquanto que em MQL se verifica que nenhum resultado pode ser projectado.

 
A100:

Parece estar fora do seu alcance. Verifique primeiro o exemplo em C++ antes de escrever

Oops. Vive-se e aprende-se).
 

A chamada CopyTicksRange(_Symbol, ticks, COPY_TICKS_ALL, 0, ULONG_MAX) devolve 0 ticks copiados e o código de erro 0 no testador.

Se for impossível pedir todas as carraças, ou, por exemplo, se não houver memória suficiente, é uma boa ideia mostrar algum erro.

Agora parece ser um erro difícil de apanhar no MQL API.

 

Depois de actualizar o Metatrader 5 64 bit, a demonstração do MQL5 parou de começar (embora o processo ainda esteja a decorrer no Task Manager). Depois de descarregar o instalador da MQL5

instalador, numa tentativa de reinstalá-lo, recebo uma mensagem: "Desculpe, algo correu mal. Por favor, tente novamente mais tarde". 3 dias decorridos.

Sistema Windows 10 PC. Metatrader 5 Siwssquote funciona bem

Автоматическое обновление - Для продвинутых пользователей - Справка по MetaTrader 5
Автоматическое обновление - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
В платформу встроена система автоматического обновления. Она позволяет своевременно получать и устанавливать новые версии программы. Эту систему отключить нельзя. Порядок обновления При подключении к торговому серверу происходит проверка наличия обновлений платформы. Если найдено обновление какого-либо из компонентов торговой платформы...
 

Boa tarde, aconselha-se - após a actualização do MT5, o indicador pendura o terminal e todo o computador. O indicador é artesanal, claro, mas funcionou antes da actualização. Alguém pode sugerir o que está errado? Os meus conhecimentos não são, infelizmente, suficientes.

O indicador é anexado.

Arquivos anexados:
 
Sergey Voytsekhovsky:

Boa tarde, aconselha-se - após a actualização do MT5, o indicador pendura o terminal e todo o computador. O indicador é artesanal, claro, mas funcionou antes da actualização. Alguém pode sugerir o que está errado? Os meus conhecimentos não são, infelizmente, suficientes.

Indicador em anexo.

Tropeça na segunda chamada da procura de objectos:

   if(ObjectFind(0,InpName_TL_Support)<0)
 
Vladimir Karputov:

Tropeça na segunda chamada de procura de objectos:

Muito obrigado pelo seu feedback. Pode dizer-me como procurar tais tropeços no futuro? Como é que viu isto, nem sequer posso executá-lo, tudo pende e não responde? O que pode estar errado com esta linha? De acordo com as instruções.

ObjectFind

devolve um valor negativo se nenhum objecto for encontrado. De que outra forma posso verificar se não é comparado com zero, para não tropeçar ????

 

Pode sugerir um programa de terceiros que possa monitorizar o congelamento da CPU?

Quero excluir (ou confirmar) esta hipótese de travagem MT5 em funcionamento real.