Perguntas de um "boneco" - página 167

 
stringo:

Quando os parâmetros são passados para uma função, o quantum mínimo é um número inteiro de 32 bits. Ou seja, no seu caso, bVk e bScan serão convertidos em tipo int antes de serem passados para a função

É por isso que os protótipos de funções acima não se contradizem

Obrigado.
 

Diga-me se a PRIMEIRA OPÇÃO é pior em termos de utilização de CPU e RAM.

Dado: várias matrizes meio vazias que precisam de ser preenchidas.

Opção 1: preenchemos uma célula da matriz, depois saltamos para outra matriz, preenchemos uma célula da matriz, depois saltamos para a próxima matriz e assim por diante... depois voltar à primeira matriz e preencher as próximas filas de células da matriz.

Opção 2: Preenchemos a matriz completamente, depois saltamos para a matriz seguinte.

(Na verdade, a questão é COMO trabalhar com arrays em MQL5).

 
A opção 1 será mais rápida.
 
joo:
a opção 1 será mais rápida.

Hmm... isso é um pouco misterioso.

Talvez devêssemos apenas fazer um teste e ver.

 
sergeev:

Hmm... ...isso é intrigante.

Talvez devesse apenas fazer um teste e ver.

Na primeira opção há um ciclo, na segunda há 3 ciclos.

o looping também leva tempo, por isso será diferente dependendo da duração da adição,

Mas na segunda variante há uma digitalização consecutiva de uma área de dados.

Os testes não vão dar nada, por causa da optimização.

por isso a questão vai directamente para os tipos da MQ.

 
Urain:

Na primeira versão haverá um ciclo, na segunda 3.

Exactamente.
 
Urain:

No primeiro caso haverá um ciclo, no segundo haverá três.

Não, em ambos os casos existem dois loops aninhados.

imho, puramente intuitivamente) deveria ser o mesmo em termos de velocidade.

 
Swan:

Não, em ambos os casos existem dois loops aninhados.

imho, puramente intuitivamente) deveria ser o mesmo em termos de velocidade.

Dois loops aninhados são se a matriz for bidimensional.

e se três matrizes unidimensionais do mesmo tamanho, então 1 : 3

 

Urain, joo, sergeev, swan: Obrigado. Decidiu optar pela segunda opção (surgiram novos factores que determinaram a escolha).

 
Swan:

Não, em ambos os casos existem dois loops aninhados.

imho, puramente intuitivamente) deveria ser o mesmo em termos de velocidade.

Foi isso que me pareceu. Devo estar cansado.

sergeev:

Dois loops aninhados, isto é, se a matriz for bidimensional.

e se três matrizes unidimensionais do mesmo tamanho, deve ser 1 : 3

Não é claro. Espero lá chegar a tempo. =)