![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Obrigado por esse exemplo.
Pensei que eu era o único que preferia colocar as coisas dessa maneira, em vez de escrever com piça.
hz - traduzido para o russo como "Eu gostaria de saber"... não pense mal...É melhor usar classes da biblioteca padrão para não ter que escrever todos aqueles longos PositionGet... etc.
Obrigado por esse exemplo.
Pensei que eu era o único que preferia colocar as coisas dessa maneira em vez de escrevê-las de uma maneira idiota.
Qual é o problema?
Não tome isto comoum "codificador nazista", mas eu, por exemplo, acho tais construções perturbadoras:
É um incômodo para os olhos. Não seria melhor que não fosse"zaz como", mas assim:
Ou este tipo de "shithcoddling":
OndePositionsTotal()é chamado em cada iteração de loop!
Um codificador normal nunca manipularia o corpo do laço que passa pelas posições por seu índice (que, graças a Deus, está ausente aqui) levando a uma mudança de seu número. Este é apenas o auge do analfabetismo e do código de falhas. Você tem que, de uma boa maneira, reiniciar todo o loop se algo assim for suposto acontecer.
Também algumas pessoas gostam de algo como isto:
Embora, para um iniciante e não preocupado com horas extras de tempo de CPU para otimização, tais construções de "se-outro-tudo" das aulas de "programação" da escola em BASIC, são mais claras.
E tudo isso éreplicado de código em código pelo princípio de copiar-colar.
Então, lá vai você...
...
Ou este tipo de "shithcoding":
OndePositionsTotal()é chamado de iteração por loop!
...
Você tem certeza? Você queria ser inteligente, mas está em uma rotina...
E você se registrou para esse fim? Assim mesmo - desde o primeiro posto e se perder...
Você tem certeza? Você estava tentando ser esperto, mas você se tornou um velhaco...
E você se registrou para isso de propósito? Assim, desde o primeiro posto, você está no banheiro...
Oh, querida. "Aprenda a matemática", Elger e Knut. Não se torne pessoal.
Tudo bem, vou explicar:
Isso está claro, querida?
Se não, leia atentamente https://learnc.info/c/loop.html começando em algum lugar de [ctrl+f , procure por "Cycle for"].
Aqui nem sequer é preguiçoso para encontrar o link.
E aprender a escrever um código alfabetizado, agradável e conciso. Você deveria ter começado com o assembler, com microcontroladores onde cada byte conta.
P.S.
Aqui eu era até preguiçoso demais para mostrar ao especialista um simples exemplo de seu laço "para".
E este é o resultado da amostragem:
Você pode ver que a função não é chamada apenas a cada iteração, mas até mesmo +1 tempo no final.
Então, aí está.
Eh, querida. "Aprenda sua matemática", Elger e Knut. Não se torne pessoal.
Tudo bem, vou explicar:
Isso está claro, querida?
Se não, leia atentamente https://learnc.info/c/loop.html começando em algum lugar de [ctrl+f , procure por "Cycle for"].
Aqui nem sequer é preguiçoso para encontrar o link.
E aprender a escrever um código alfabetizado, agradável e conciso. Você deveria ter começado com o assembler, com microcontroladores onde cada byte conta.
P.S.
Aqui eu era até preguiçoso demais para mostrar ao especialista um simples exemplo de seu laço "para".
E este é o resultado da amostragem:
Você pode ver que a função não é chamada apenas a cada iteração, mas até mesmo +1 tempo no final.
Então, aí está.
Eu aplaudo! Continuar...
Eu aplaudo! Continuar...
Você tem certeza? Você estava tentando ser esperto, mas você se tornou um velhaco...
E você se registrou para isso de propósito? Assim mesmo - desde o primeiro posto até uma poça...
Queconversa interessante você está tendo)) ))
Senhores, as personalidades são personalidades, mas vamos descobrir a verdade.
Usando o exemplo, posso ver quePositionsTotal()é chamado em cada iteração de loop.
Mas Dimitri, pelo contrário, você está dizendo que o compilador o faz de uma maneira diferente - não entendo. Explicar.
Se você quer dizer que a funçãoPositionsTotal() não recalcula as posições cada vez, mas simplesmente retorna o valor de uma variável contendo o número de posições em aberto, então sim, você está certo, não faz sentido declarar mais uma variável, mas então o que o compilador tem a ver com isso?
E se esta função recalcula as posições em aberto toda vez, então acontece que o compilador tem que entender se o valor desta função afeta outros cálculos e usa ou uma função ou uma variável.
Algo não faz sentido para mim.
Conversa interessante que você está tendo))))