Não processado, Início: 2018.01.24 16:17, #1940209
Versão terminal e modo bit
64 1755
Descrição do problema
Indicador de não descarregar,
Eu instalo indicador, indicador funciona, eu removo indicador, indicador é removido e não está na lista, mas funciona desenha objectos como se não tivesse sido removido, não está na lista.
Eu reabro o gráfico, funciona mesmo que o gráfico de outro símbolo.
Está a funcionar há cerca de 10 minutos, sem ciclos em loop, tudo está no intervalo normal, anexei o código...
Não processado, Começou: 2018.01.24 16:17, #1940209
Versão terminal e modo bit
64 1755
Descrição do problema
Indicador de não descarregar,
Eu instalo indicador, indicador funciona, eu removo indicador, indicador é removido e não está na lista, mas funciona desenha objectos como se não tivesse sido removido, não está na lista.
Eu reabro o gráfico, funciona mesmo que o gráfico de outro instrumento.
Está a funcionar há cerca de 10 minutos, sem loops, tudo está no intervalo normal, anexei o código...
Esperava-se que se uma macro fosse definida numa determinada corda fosse realçada, se não estivesse definida não seria realçada. Caso contrário, não é claro o que significa a presença/ausência de destaque
//Test.cpp#include "Test.h"#ifdef MACRO //не подсвечивается... но этот .cpp файл не предназначен для компиляции в MetaEditor,//а компилируется в С\С++, где макрос __MQL__ не является предопределенным//в результате подсвечивается то что не должно и наоборот не подсвечивается что должно#endif
Este é um caso (como o anterior) em que o destaque incorrecto e enganador é muito pior do que a falta dele
Директива #define подставляет expression вместо всех последующих найденных вхождений identifier в исходном тексте. identifier заменяется только в том случае, если он представляет собой отдельный токен. identifier не заменяется, если он является частью комментария, частью строки, или частью другого более длинного идентификатора. expression...
Encontrei-me repetidamente no fórum de utilizadores sobre a falta de uma macro predefinida semelhante a _WIN64. A resposta da administração foi que não há necessidade porque o MetaEditor gera código universal de 32-64 bits ao mesmo tempo.
E de facto, se utilizar um .dll já pronto (que já não pode ser alterado), não pode prescindir de um alinhamento adicional. Mas em x86 e x64 esta adição pode parecer diferente, o que significa que o análogo _WIN64 ainda é necessário porque a estrutura é definida na fase de compilação do ficheiro .mq5 onde TerminalInfoInteger( TERMINAL_X64 ) não funciona
//Test.mq5
#ifdef _WIN64
#define ALIGN (8-2) //добавить к элементу структуры 6 байт
#else
#define ALING (4-2) //добавить к элементу структуры 2 байта
#endif
Agora temos de ter em mente a informação extra. Como resultado da poupança numa bagatela, existe o risco de se obter um erro elusivo
Tudo dentro dos limites normais...
Houve algo semelhante uma vez quando um indicador estava a ler dados de um ficheiro para uma matriz, mas agora não me consigo lembrar...
Criou uma encomenda à espera de
Versão terminal e modo bit
64 1755
Descrição do problema
Indicador de não descarregar,
Eu instalo indicador, indicador funciona, eu removo indicador, indicador é removido e não está na lista, mas funciona desenha objectos como se não tivesse sido removido, não está na lista.
Eu reabro o gráfico, funciona mesmo que o gráfico de outro símbolo.
Um erro de tempo de compilação
#define \ MACROAlém disso, esperava-se que as linhas de alimentação funcionassem em TODAS as directivasCriou uma encomenda à espera de
Versão terminal e modo bit
64 1755
Descrição do problema
Indicador de não descarregar,
Eu instalo indicador, indicador funciona, eu removo indicador, indicador é removido e não está na lista, mas funciona desenha objectos como se não tivesse sido removido, não está na lista.
Eu reabro o gráfico, funciona mesmo que o gráfico de outro instrumento.
O mesmo problema
O mesmo problema
Recurssão?
O mesmo problema
IndicatorRelease();
Erro durante a compilação
O anexo tem de ser compilado
Onde arranjei tais "espaços"? Há muitos deles aqui https://www.mql5.com/ru/docs/check/terminalinfointeger. Copiei o fragmento no Microsoft Edge com o meu rato
Realce macro confuso - independente do contexto
ou sempre presente (opção B) ou sempre ausente (opção A)
Esperava-se que se uma macro fosse definida numa determinada corda fosse realçada, se não estivesse definida não seria realçada. Caso contrário, não é claro o que significa a presença/ausência de destaqueDestacando ficheiros C2C++ no MetaEditor
https://www.mql5.com/ru/docs/basis/preprosessor/constant
Estas macros (e também __MQL__) não devem estar disponíveis quando se destacam ficheiros com extensões .c, cpp, .h
Este é um caso (como o anterior) em que o destaque incorrecto e enganador é muito pior do que a falta dele
Encontrei-me repetidamente no fórum de utilizadores sobre a falta de uma macro predefinida semelhante a _WIN64. A resposta da administração foi que não há necessidade porque o MetaEditor gera código universal de 32-64 bits ao mesmo tempo.
Ao mesmo tempo, muitas pessoas utilizam o alinhamento https://www.mql5.com/ru/forum/225498/page2#comment_6401835, anexando os campos à estrutura
E de facto, se utilizar um .dll já pronto (que já não pode ser alterado), não pode prescindir de um alinhamento adicional. Mas em x86 e x64 esta adição pode parecer diferente, o que significa que o análogo _WIN64 ainda é necessário porque a estrutura é definida na fase de compilação do ficheiro .mq5 onde TerminalInfoInteger( TERMINAL_X64 ) não funciona
Agora temos de ter em mente a informação extra. Como resultado da poupança numa bagatela, existe o risco de se obter um erro elusivo