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
"Apoteose" considero uma expressão do fxsaber, sobre a qual ele mesmo não poderia dizer como funciona, afirmando simplesmente que "o código foi testado repetidamente, e funciona". Isso, em minha opinião, não deveria ser o caso:
Este código verifica seo pedido do tipo FilingType pode serexecutado e o devolve se estiver disponível no strSymbol, caso contrário está correto.
Não tenho a menor idéia de como funciona. E contar apenas com a autoridade do fxsaber.
Talvez alguém possa explicar ?
Para compreendê-la, basta desmontar esta expressão de retorno incômoda em seus componentes.
Seu exemplo de "os fins justificam os meios".
a propósito, este código é como o spaghetti, mas considerando que este é provavelmente o autor mais útil em kodobase neste momento e eu mesmo utilizo seus códigos como está, deixe alguém criticar
a propósito, este código é como o spaghetti, mas dado que é provavelmente o autor mais útil em kodobase neste momento e eu mesmo utilizo seus códigos como está, deixe outra pessoa criticar
não se trata de crítica, eu estou tentando descobrir o que pode fazer.... Mas como mostra a entrevista, e o próprio@fxsaber admitiu - nada além de dores de cabeça
SZZ: é altamente provável, aquela variante inicial do pequeno monstro parecia mais clara ;)
ZS: alta probabilidade de que a versão original do pequeno monstro parecesse mais óbvia ;)
Foi tirado do ZIP (contém o primeiro lançamento).
Mas depois disso, foi sendo necessário cada vez mais funcionalidade, e o código foi lentamente sendo enxaguado para fora. Foi diferente com a função Preenchimento. Nada foi lavado lá fora, foi escrito de uma só vez.
Somente o compilador sabe exatamente o que vai fazer. Os compiladores modernos têm uma eurística espantosa. Eles se adaptam ao codificador médio e já sabem melhor o que ele ou ela precisa. A melhor coisa que um compilador pode fazer é escrever um código simples, direto e com funções curtas. É mais fácil e mais eficiente para o compilador analisar o gráfico do código fonte que consiste de muitos nós de função para construir o programa resultante. Ele só terá um efeito positivo na produtividade, uma vez que as funções necessárias serão bloqueadas em todos os lugares certos.
Você está absolutamente certo.
Se estamos falando da MQL5, você pode esquecer os métodos de "otimização" de 10-20-30 anos atrás. Você precisa escrever o código mais legível. É isso, e não as coisas de hacker e de puro espertalhão.
Por quê?
Como o compilador passará por 5-10 ciclos de reordenamento de código, ele é incrivelmente claro e conciso, sem mencionar o uso de dezenas de padrões de otimização.
O compilador MQL5 é divertido com as tentativas humanas de fazer +2% de velocidade.
Esta é uma obra de arte, de fato. 8 raízes foram calculadas em 4 chamadas do comando assembler. Dois números duplos foram calculados em uma chamada.Se você estiver interessado, verifique como cálculos matemáticos vão sem ramificação e um comando (128 bits de dados) calcula duas raízes ao mesmo tempo
Este código transforma-se no seguinte código SSE do assembler:
A conclusão geral: a matemática ganhou na MQL5 devido à otimização perfeita. Não são as arrays que perdem aqui, mas a matemática ganha.
Por que isso acontece?
Pelo contrário, é muito mais fácil com dois "se" do que com o "ou" operador.
É mais fácil rastrear uma condição primeiro, e deixar a função se for verdadeira, e então verificar a outra condição, e também deixar se for verdadeira, do que adivinhar o resultado de uma condição complexa com "ou" lógico (que pode ser facilmente confundido com "e"), e rastrear ambas as opções de retorno.
É muito engraçado ler abaixo que "a justificação para tal é a depuração", porque significa que tal código é muito mais compreensível (caso contrário, por que está na depuração?).
"Apoteose" considero uma expressão do fxsaber, sobre a qual ele mesmo não poderia dizer como funciona, afirmando simplesmente que "o código tem sido testado repetidamente, e funciona". Isso, em minha opinião, não deveria ser o caso:
Este código verifica seum pedido do tipo FilingType pode serexecutado, e o devolve se estiver disponível no strSymbol, caso contrário está correto.
Não tenho a menor idéia de como funciona. E contar apenas com a autoridade do fxsaber.
Talvezalguém possa explicar ?
Uma vez sentei-me e desmontei-o passo a passo, parece ter precisado de uma caneta e papel)
Por que esta análise foi útil - entendi que em caso de mudança de estrutura de enumeração tudo será quebrado) já que são usadas relações inteiras de valores de enumeração (que de acordo com a própria idéia de enumeração deve ser encapsulada). Eu mesmo tento evitar isso, no máximo a proporção mais inútil. Para aqueles que lidam com o WinAPI, provavelmente é familiar.
Para entender, tudo o que você tem que fazer é desmontar essa expressão de retournee desajeitado.
Sim, foi isso que eu tentei. Mas, não havia motivação suficiente para desmontá-lo...
Absolutamente certo.
Se estamos falando da MQL5, você pode esquecer os métodos de "otimização" de 10-20-30 anos atrás. Você precisa escrever o código mais legível. É isso, e não as coisas de hacker e de puro espertalhão.
Exatamente. Cheguei a esta conclusão há muito tempo. Mas não porque eu acho que o compilador vai melhorar as coisas. Mas porque a principal fonte de problemas em código é o próprio ser humano, o que significa que se deve escrever código de uma maneira que o torne o mais simples e transparente possível.
Se você não pode torná-lo "transparente", você tem que escrever comentários detalhados porque é desta maneira e não daquela maneira.
E o compilador... Mesmo que não o faça com eficiência suficiente, é menos um problema do que um bug em potencial devido ao fato de não levar em conta alguns aspectos do programa.
O código é muito simples e curto(descrição). Se você escrevê-lo na FP, seria interessante comparar.
Por favor. C# em estilo FP:
O FP é bastante torto, é claro (como foi escrito por um codificador FP torto, na linguagem C# incompleta do FP), mas o objetivo é mostrar que no jargão moderno do OOP você pode fazer isso também no FP. Claro que é limitado, não é F# ou Haskell, mas ninguém proíbe de escrever em estilo FP. Usar imutabilidade, funções de ordem superior, fechamentos, mapeamentos, etc. - você é bem-vindo a fazer tudo isso. Mas isto não torna o código perfeito por alguma razão.
s.w. A estrutura geral do código imita deliberadamente o original. Embora de uma boa maneira deveria ser bem diferente em FP, sem objetos complexos e sem imitar o Mapa, mas o artista pintou como pôde.
Por favor. C# em estilo FP:
Entendo que é uma questão de hábito e conhecimento de sintaxe, mas estou tendo muita dificuldade para entrar no código, apesar de ser o autor original.
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
Opinião interessante sobre o OOP
fxsaber, 2021.01.29 13:39
Uma bagatela.
Tecnicamente, é provavelmente um OOP. Mas a parte mais primitiva é a parte mais primitiva. No entanto, não seria possível sem ele. Possivelmente, uma reordenação cerebral burra e rebitadora.