Erros, bugs, perguntas - página 716

 
MetaDriver:

As variáveis globais também não têm de ser inicializadas automaticamente. Provavelmente, é apenas "sortudo". Sorte nas citações, porque tal sorte está repleta de loucuras subsequentes com reivindicações de esquerda aos criadores, tais como "ontem funcionou e hoje não...!

A partir da ajuda. O âmbito das variáveis globais é todo o programa, as variáveis globais são acessíveis a partir de todas as funções definidas no programa. São rubricados com zero, a menos que outro valor inicial seja explicitamente especificado.

Tais erros ocorrem depois de se tentar tratar de variáveis globais.

P.S. Deve ser bicado por perguntas parvas de principiantes, escreve-se furiosamente sobre isso. O compilador, penso eu, não se importa quanto código, a inicialização extra apenas a abranda por uma fracção de segundo, e o testador de estratégias é outra questão.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
sion:

A partir da ajuda. O âmbito das variáveis globais é todo o programa, as variáveis globais são acessíveis a partir de todas as funções definidas no programa. São rubricados com zero, a menos que outro valor inicial seja explicitamente especificado.

Há também um link abaixo Ver também sobre Inicialização de Variável.

Qualquer variável pode ser inicializada quando definida. Se a variável não for explicitamente inicializada, o valor armazenado nesta variável pode ser qualquer coisa. A inicialização implícita não é realizada.

 

Inicializado com zero, a menos que outro valor inicial seja explicitamente especificado.

A inicialização implícita não é efectuada.

Não sei em que acreditar. Ou são inicializados com zero se nenhum valor for explicitamente especificado ou a inicialização implícita não é realizada. Ou algo mais em geral)

 
sion:

Nem sei em que acreditar. Ou é rubricado com zero se nenhum valor for explicitamente definido, ou não é rubricado implicitamente. Ou algo mais em geral).

Não se pode confiar em ninguém. Pode confiar em mim.

Porquê transformar a questão da cultura da programação numa questão de fé? Não faz inicializações explícitas? Mais cedo ou mais tarde (e não necessariamente em mt5), as falhas virão até si

 
stringo:

Não se pode confiar em ninguém. Eu posso (c) Müller

Porquê transformar a questão da cultura da programação numa questão de fé? Não faz uma inicialização explícita? Mais cedo ou mais tarde (e não necessariamente em mt5), as falhas virão até si

Vamos contar com a intuição. Os meus últimos postos são provavelmente bons para serem limpos, a água não é nada de que se possa falar.
 
sion:
Vamos contar com a intuição. Provavelmente pode limpar os meus últimos postes, a água não é nada de que falar.

Porquê confiar na intuição num assunto tão delicado?

Basta inicializar todas as suas variáveis explicitamente. A questão da inicialização desnecessária em alguns casos é relevante apenas para profissionais que espremem ciclos de relógio para poupar micro segundos.

 

construir 630

A funçãoArrayResize() (ArraySetAsSeries()=true)elimina um item errado quando o tamanho da matriz é reduzido.

Apaga o item com índice 0, enquanto deve ser o últimoitem da matriz, ou seja, com índice (n-1) onde n é o tamanho da matriz.

Tudo funcionou bem no Outono de 2011.

 
MoneyJinn:

Erro ArrayResize() ao diminuir o tamanho do array quando ArraySetAsSeries() = verdadeiro.

Elimina elemento do lado errado da matriz.

Está a dizer que o "elemento mais antigo da matriz" (o mais à esquerda) é removido?
 

curwords=GetPointer(firstwords);
Print("next
",curwords.m_next!=NULL); while(curwords.m_next!=NULL || curwords.length<pp){ curwords=GetPointer(curwords.m_next); }

ao testar uma EA para uma palavra realçada, o erro indicaacesso ao ponteiro inválido em 'iTester 7.mq5' (161,16) e depois pára

qual é o truque aqui?

se escrever: while( firstwords.m_next!=NULL || curwords.length<pp){ curwords=GetPointer(curwords.m_next); } erro move o acesso ao ponteiro inválido no 'iTester 7.mq5' (161,43 )

 

fellow:

qual é o senão?


curwords = NULL