Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1031
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
Se a eliminação não intencional do código deve eliminar as variáveis globais criadas por este código, a eliminação destas variáveis globais deve ser prescrita na função OnDeinit() do código.
Deve-se verificar se não se trata de uma chave de tempo, mas sim da eliminação do indicador do gráfico.
Pressione F3 no terminal, e apague manualmente esta variável. É criado uma vez e está localizado no ambiente - a EA o lê de lá. Ou talvez eu não o tenha entendido corretamente? Você acabou de apagar a criação de uma variável global do terminal no próprio código indicador, mas ela foi criada por este indicador antes?
Artem, por favor, ajude-me a entender o que está errado. Aqui https://www.mql5.com/ru/code/10237 é o código do Consultor Especialista que notifica (ou melhor, utilizado para notificar) sobre todos os eventos comerciais no terminal. Este código tem funcionado corretamente. Estive ausente do site por um longo tempo. Algumas mudanças no mql4 ocorreram e agora este código se compila com um erro, ao compilar as linhas de inicialização da matriz. Se você conseguir encontrar tempo, por favor, dê uma olhada.
Cumprimentos.
ps se alguém mais puder ver qual é o problema, eu apreciaria.
Bem, eu não sei, talvez em C++, que eu nunca estudei, mas o mql é apenas tipo C. E, em segundo lugar, a dimensão da matriz não pode ser definida para uma variável, embora em seu exemplo MAX_NUM_ORDER possa não ser uma variável...
Uma linha e uma coluna da matriz são selecionadas, respectivamente, um determinado valor pode ser inserido ali, ou seja, a entrada deve ser como para uma variável comum, e para redefinir todos os valores
ArrayInitialize(Arr_Tickets, 0);
a referência do item terá o seguinte aspecto -Arr_Tickets[MAX_NUM_ORDER,2] =0;
Tenho-o aqui -Arr_Tickets[MAX_NUM_ORDER][2] = {0,0, ,0,0};
ver aqui sobre a inicialização da matriz https://book.mql4.com/ru/variables/arrays
a referência do item terá o seguinte aspecto -Arr_Tickets[MAX_NUM_ORDER,2] =0;
Tenho-o escrito -Arr_Tickets[MAX_NUM_ORDER][2] = {0,0, ,0,0};
Arr_Tickets[MAX_NUM_ORDER,2] - referência a um elemento da matriz
Arr_Tickets[MAX_NUM_ORDER][2] - referência do elemento da matriz
O compilador não jura, no entanto você o escreve e espera por um valor em particular, não por outra coisa. Eu verifiquei especialmente.
E uma confirmação do mesmo a partir do link, que você deu a outro membro do fórum: a forma de especificar índices, quando cada um dos índices está entre parênteses rectos, também é aceitável
Arr_Tickets[MAX_NUM_ORDER,2] - referência a um elemento da matriz
Arr_Tickets[MAX_NUM_ORDER][2] - referência a um item de array
O compilador não jura, no entanto você o escreve e espera por um valor em particular, não por outra coisa. Eu verifiquei especialmente.
E uma confirmação do mesmo a partir do link, que você deu a outro membro do fórum: a forma de especificar índices, quando cada um dos índices está entre parênteses rectos, também é aceitável
Vou reformular a pergunta, - Costumava compilar e funcionar bem, alguém pode explicar o que está causando isso? Os códigos que não funcionavam não eram permitidos dentro da kodobase.
A propósito, o erro aparece nas linhas 53 e 54 do código. Na linha 54, o que está errado? E então, como iniciar um conjunto de cordas?
Procurei no livro didático, mas não encontrei nada sobre arrays de cordas, há informações apenas sobre arrays numéricos. Talvez eu não tenha procurado muito? Por favor, me forneça o link.
Artem, por favor, me ajude a entender o que está errado. Aqui https://www.mql5.com/ru/code/10237 é o código do Consultor Especialista que notifica (ou melhor, utilizado para notificar) sobre todos os eventos comerciais no terminal. Este código tem funcionado corretamente. Estive ausente do site por um longo tempo. Algumas mudanças no mql4 ocorreram e agora este código se compila com um erro, ao compilar as linhas de inicialização da matriz. Se você conseguir encontrar tempo, por favor, dê uma olhada.
Cumprimentos.
ps se alguém olhar para qual é o problema, eu ficaria grato.
Primeira inserção #propriedade estrita no início do código e compilação.
Foi assim:
fazer isso:
Depois disso, você já precisa olhar para os erros que ele dá.
Primeiro, insira #propriedade rigorosa no início do código e compile.
foi assim:
fazer isso:
Depois disso, é preciso olhar para os erros que ele revela.
Inserido, nada mudou.
Suponha que eu possa substituir a linha Arr_Tickets[MAX_NUM_ORDER][2] = {0,0,,0,0}; eu também posso substituí-la porArrayInitialize(Arr_Tickets,0);
O que fazer com a string Arr_Order_Symbol[MAX_NUM_SYMBOL] = {",",};? Quando tento inicializar uma string array através deArrayInitialize(Arr_Order_Symbol,"), diz "meu você não entende...", não há nenhum objeto adequado para ser processado por esta função...
Inserido, nada mudou.
Suponha que eu possa substituir a linha Arr_Tickets[MAX_NUM_ORDER][2] = {0,0,,0,0}; eu ainda posso substituí-la porArrayInitialize(Arr_Tickets,0);
O que fazer com a string Arr_Order_Symbol[MAX_NUM_SYMBOL] = {",",};? Quando tento inicializar uma string array através deArrayInitialize(Arr_Order_Symbol,"), diz "meu você não entende...", não há nenhum objeto adequado para ser processado por esta função...