Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1412

 
str+="--LoY["+IntegerToString(r)+"]--, "+DoubleToString(LoY[r],4)+", ";
 
ANDREY:

Eu tenho o que preciso

LoY[r] = 1.6104---LoY[r] = 1.6105---LoY[r] = 1.6106---LoY[r ] = 1.6107---LoY[r] = 1.6108---LoY[r] = 1.6109---LoY[r] = 1.6110---LoY[r] = 1.6111....

E também posso pedir àPrint() para substituir os valores do índice em vez de [r].
Ficarei muito grato se você puder escrever um exemplo de tal código em vez de explicá-lo em palavras.
Obrigado por sua ajuda.

Isto só me acontece durante as apreensões......... Uma apreensão já me aconteceu hoje, a próxima não vai acontecer tão cedo...

 
Aleksei Stepanenko:

Muito obrigado por sua ajuda. Seu código é mais compacto e por isso estou levando-o a bordo e procedendo ao seu estudo com cuidado para entendê-lo em grandes detalhes.

 
Aleksei Stepanenko:

Estudei cuidadosamente seu código. Entendido cada um dos caracteres. Eu não entendo apenas os sinais + em vermelho

str+="--LoY["+IntegerToString(r)+"]--,"+DoubleToString(LoY[r],4)+",";
Gostaria que você me dissesse qual é a função que essas vantagens desempenham e onde ler sobre elas. Não consegui encontrar informações sobre eles no tutorial de Kovalev.
Quando removi estas opções, o compilador me deu alguns erros. Infelizmente eu não sou bom em inglês, portanto não sei o que ele quis dizer com isso.

Mais uma vez, obrigado pelo apoio informativo.

 
ANDREY:

Estudei cuidadosamente seu código. Entendido cada um dos caracteres. Eu não entendo apenas os sinais + em vermelho

str+="--LoY["+IntegerToString(r)+"]--,"+DoubleToString(LoY[r],4)+",";
Gostaria que você me dissesse qual é a função que essas vantagens desempenham e onde ler sobre elas. Não consegui encontrar informações sobre eles no livro de Kovalev.
Quando removi estas opções, o compilador me deu alguns erros. Infelizmente eu não sou bom em inglês, portanto não sei o que ele quis dizer com isso.

Mais uma vez, obrigado pelo apoio informativo.

E aqui estão as explicações em palavras, por favor.........

Se você somar números, por exemplo 2,3+3,6, o mesmo número, 5,9, e se você somar cordas DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), será 2.33.6 como um fio.

 

Isso mesmo, disse Alexey, é só amarrar juntos.

Isto pode ser de seu interesse:

a+=4; -это тоже самое, что и a=a+4;
по аналогии:
a-=4;
a*=4;
a/=4;

a++; - означает a=a+1;
a--;

 
Alexey Viktorov:

Mas explicações em palavras são bem-vindas.........

Se você somar números, por exemplo 2,3+3,6, será o mesmo número, 5,9, e se você somar cordas DoubleToString(2.3, 1)+ DoubleToString(3.6, 1) então será 2.33.6 como um fio.

Obrigado pela dica.

 
Aleksei Stepanenko:

Isso mesmo, disse Alexey, é só amarrar juntos.

Isso pode ser de seu interesse:

Obrigado pela dica.

 
Alexey Viktorov:

Mas aqui está uma explicação em palavras, por favor.........

Se você somar números, por exemplo 2,3+3,6, será o mesmo número, 5,9, e se você somar cordas DoubleToString(2.3, 1)+ DoubleToString(3.6, 1), será 2.33.6 como um fio.

Isto é, a cada iteração o valor de LoY["IntegerToString(r)"] é incrementado em 1 e o valor de DoubleToString(LoY[r],4) é incrementado em 1.

Mas o incremento por 1 não está arranjado da forma como estou acostumado a LoY["IntegerToString(r)"]++; Mas o incremento por 1 está arranjado especialmenteLoY["+IntegerToString(r)+"], ou seja, a variável é colocada entre pluses.

Como devemos lidar com o aumento de uma variável de corda em 2 em vez de 1? Normalmente este incremento é VARIÁVEL +=2, mas como devo formatar o incremento por 2 no meu código?

Além disso, os valores dos elementos da minha matriz serão diferentes, não estritamente como são agora. Por exemplo, será assim....

LoY[0]= 1,6104, LoY[1]= 1,6114,LoY[2]= 1,6100,LoY[3]= 1,6120, LoY[4]= 1,6115, LoY[5]= 1,6115, LoY[6]= 1,6098,LoY[7]= 1,6085, LoY[8]= 1,6125,..... e assim por diante. Em outras palavras, estes valores serão atribuídos a itens de matriz em uma parte diferente do código e não necessariamente usando um loop.
Acho que não podemos exibir corretamente tal seqüência na função Print()
usando a conexão de variáveis de string......


Obrigado pela ajuda.

 
ANDREY:

Isto é, a cada iteração o valor de LoY["IntegerToString(r)"] é incrementado em 1 e o valor de DoubleToString(LoY[r],4) é incrementado em 1.

Mas o incremento por 1 não está arranjado da forma como estou acostumado a LoY["IntegerToString(r)"]++; Mas o incremento por 1 está arranjado especialmenteLoY["+IntegerToString(r)+"], ou seja, a variável é colocada entre pluses.

Então, como devemos lidar com o aumento de uma variável de corda em 2 em vez de 1? Normalmente este incremento é VARIÁVEL +=2, mas como devo formatar o incremento por 2 no meu código?

Além disso, os valores dos elementos da minha matriz serão diferentes, não estritamente como são agora. Por exemplo, será assim....

LoY[0]= 1,6104, LoY[1]= 1,6114,LoY[2]= 1,6100,LoY[3]= 1,6120, LoY[4]= 1,6115, LoY[5]= 1,6115, LoY[6]= 1,6098,LoY[7]= 1,6085, LoY[8]= 1,6125,..... e assim por diante. Em outras palavras, estes valores serão atribuídos a itens de matriz em uma parte diferente do código e não necessariamente usando um loop.
Acho que não podemos exibir corretamente tal seqüência na função Print()
usando a conexão de variáveis de string......


Obrigado por sua ajuda.

As funções IntegerToString() e DoubleToString() representam apenas um número como um fio que é passado para a função. Aqui está um exemplo

É exatamente aqui que o número r é convertido em uma corda e as cordas são "adicionadas". Mas antes disso, o valor de r muda.

Não entendo bem a pergunta, mas se você quiser selecionar apenas elementos de numeração par da matriz, o laço deve ser construído desta forma

for(int i = 0; i <= 30; i+=2)


Razão: