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
Você pensa nas categorias amoeba :) .
" Devemos esquecer as pequenas eficiências, digamos cerca de 97% do tempo: a otimização prematura é a raiz de todo o mal. No entanto, não devemos desperdiçar nossas oportunidades com esses 3% críticos".
Esta é a quarta vez que sou citado neste fórum.
Não é preciso muita inteligência para citar e copiar, até mesmo um macaco pode tentar aprendê-la. :)
Mas para explicar seu pensamento conscientemente - é mais difícil e já está reivindicando o nível de homo sapiens.
Então, você quer tentar dar sentido a isso ou ainda não está nesse nível? :)
Há alguns anos, tenho sido periodicamente atormentado pela idéia de implementar um testador de estratégia multi-moeda.
Vi várias implementações, li idéias e até olhei para o MT5.
Quero dizer, por que preciso disso se existe um MT5 onde já existe uma moeda múltipla implementada no terminal?
Escrever um testador interno de estratégia multi-moeda sem erros é uma tarefa muito complexa que raramente é concluída.
Recomendo tentar novamente o MetaTrader 5 na versão de 64 bits:
- moedas múltiplas e testador detalhado de estratégias comerciais
- todos os dados históricos, incluindo o histórico de divulgação, estão prontos
- A versão de 64 bits do MetaTrader 5 permite que você trabalhe com grandes quantidades de dados (você só precisa colocar 8/12/16 Gb de memória)
- A velocidade do código MQL5 é várias vezes mais rápida do que a MQL4 (código nativo compilado com SSE2 ativo)
- A MQL5 orientada a objetos permite que você escreva Expert Advisors muito mais sofisticados
- Um testador distribuído permite o uso de múltiplos agentes remotos para testes
É melhor usar uma ferramenta que já foi experimentada e testada muitas vezes e que é ativamente desenvolvida e apoiada pelos desenvolvedores.A otimização de código requer um entendimento mínimo de como um fragmento de código será de uso intensivo de recursos em termos de operações elementares realizadas (adição, multiplicação, acesso à memória, cálculo de endereço, etc.). Sem isto, nenhuma otimização é possível em princípio, e mesmo o melhor compilador ficará impotente contra este pobre programador. Parece uma coisa óbvia, mas vejo que isto também pode ser uma grande notícia para muitos programadores. :)
Eu não posso me dar ao luxo, mas eu realmente gostaria de me expressar firmemente em sua direção, mas tudo bem, vamos assumir que seu exemplo de inépcia e teimosia irá esclarecer as coisas para muitas pessoas
Você está preso à eficiência imaginária de seu simples discurso, aos exemplos que eu dei e aos fundamentos da escrita de código eficiente - você é incapaz de ler e entender, vamos da área 2x2:
há uma tarefa, mas uma tarefa complicada )) - o truque é vital - o cliente como sempre pede um código mínimo, que no processo de trabalho adquire versatilidade - os números da lista abaixo
1. escrever uma função para multiplicar matrizes bidimensionais
2. Escrever uma função para multiplicação de matrizes tridimensionais
3. e você pode escrever uma função universal - X * Y?
4. Você pode encontrar uma matriz inversa?
- um programador comum escreve uma função que multiplica a matriz X[2] [2] * Y[2][2].
- com sua "lógica" - escreva um código surpreendentemente rápido que consistirá em uma matriz X[4] e Y[4] e uma função para multiplicar X[4] * Y[4] e certifique-se de usar uma função para converter dados de entrada/saída estúpidos como uma matriz bidimensional nos dados corretos - uma matriz unidimensional, e estude álgebra de matriz e escreva transformações equivalentes para matrizes unidimensionais
- O primeiro programador começa a acrescentar universalidade a sua função; não consigo nem imaginar o que você fará (será muito difícil verificar a multiplicação de matrizes de vinte dimensões convertidas em matriz unidimensional com um lápis); e finalmente aparece um programador com OOP e define a classe base - matriz e elabora o método de multiplicação de matrizes;
- Não quero nem imaginar o que você fará com a quarta tarefa, porque este "cliente astuto com idéias novas e brilhantes" pode aparecer no horizonte; o programador com OOP apenas adiciona um método para encontrar a matriz inversa; e, além disso, ele adiciona todas as operações da matriz e as distribui para outros programadores, para que eles não fiquem chateados depois
Se você conseguir perceber o que é um código com programação usual, com OOP, e com suas "idéias brilhantes" (seu código irá avalanche-aumento de tamanho a partir da segunda tarefa e eficiência está fora de questão) perceberá o que é programação eficiente, e, sim, eu esqueci - os erros de trabalhar com matrizes também precisam de controle - você ainda tem que trabalhar um pouco ))))))))))))))).
O que você está tentando argumentar já foi experimentado por programadores em todo o mundo, acredite, nenhum Bill Gates pode fazer você programar no OOP se não for eficaz, tudo depende das perspectivas do projeto - se o projeto se expandir - sem o OOP será uma perda de tempo e será escrito um vasto código sem flexibilidade e versatilidade
Bem, você tem que confundir e misturar em uma cascavel, misturar coisas diferentes. :)
Uma é uma fonte de informação objetiva e a outra é um receptor subjetivo porque nem sempre é capaz de perceber todas as informações, mas apenas parte delas.
nada do tipo. A informação só faz sentido na aplicação a uma fonte e receptor específicos. Não pode haver nenhuma informação "absoluta" para nós, porque tendo tocado ou medido, nos tornamos imediatamente um receptor subjetivo. Segue-se que é fundamentalmente impossível provar ou refutar a existência de informações objetivas em qualquer fonte - é como discutir sobre a presença/ausência de Deus.
E a própria noção de informação, em geral, surge apenas quando a fonte e o receptor são escolhidos.
nada do tipo. A informação só faz sentido quando aplicada a uma fonte e receptor específicos. Não pode haver nenhuma informação "absoluta" para nós, pois tendo tocado ou medido, tornamo-nos imediatamente um receptor subjetivo.
É claro que há sempre uma fonte de informação. Não há outra maneira de ver a informação.
A informação sem uma fonte simplesmente não pode existir. :) Bem, se houver uma fonte objetiva de informação, as informações dela serão objetivas em si mesmas. O receptor de informações será sempre subjetivo, mas pode abordar a objetividade com precisão infinita se perceber todas as informações sem distorção.
- Com sua "lógica", você simplesmente escreve um código incrivelmente rápido com matriz X[4] e Y[4] e uma função para multiplicar X[4] * Y[4] e certamente uma função para converter dados de entrada/saída estúpidos em uma matriz bidimensional em dados unidimensionais válidos e estudar álgebra de matriz e escrever transformações equivalentes para matrizes unidimensionais.
Infelizmente, você não entendeu a coisa simples, o que eu tentei trazer para sua compreensão, mas vejo que é inútil porque se o encanador (por exemplo) de repente decidiu re-treinar temporariamente como programador, ele ainda continua sendo um encanador e pensa como um encanador, cuja coisa principal é o comprimento dos canos colocados no chão. :)
O critério de otimização do programa não é o comprimento do código, mas o número de operações para uma determinada tarefa. Se você é obrigado a multiplicar apenas uma matriz bidimensional, enquanto você implementa casos muito mais gerais e desnecessários, é evidente que ninguém lhe agradecerá por tal amadorismo.
A subjetividade do receptor não é que ele receba de forma imprecisa o que vem da fonte, mas que este fluxo de entrada para ele possa ser interpretado de diferentes maneiras. O mesmo fluxo de bits pode ser informação completamente diferente, você vê?
Andrei01, desculpe, mas eu não entendo porque você está escrevendo algo aqui. É para a classificação por robôs ou algo assim? Seus postos são percebidos como algum tipo de ruído flubular que não contém nenhum sinal útil para esta linha. Por favor, filtre o fluxo de saída: as pessoas lêem, não os robôs...
1. A subjetividade do receptor não é que ele receba de forma imprecisa o que vem da fonte, mas que este fluxo de entrada para ele possa ser interpretado de diferentes maneiras. O mesmo fluxo de bits pode ser uma informação completamente diferente, você vê?
Andrei01, desculpe, mas eu não entendo para que você está escrevendo algo aqui. É para a classificação por robôs ou o quê? Seus postos são percebidos como algum tipo de ruído flubular sem nenhum sinal útil para esta linha. Por favor, filtre o fluxo de saída - as pessoas lêem, não os robôs...
O fato de o receptor interpretar as informações de forma diferente, dependendo de suas razões, é apenas uma indicação de que elas são subjetivas.
2. Mathemat, infelizmente eu não consegui entender o significado desta frase. Você coloca muito barulho excessivo nele. :) A propósito, é um exemplo do fato de que a fonte de informação também pode inundar, ou seja, gerar deliberadamente informações sem sentido. :)
Infelizmente, você não entendeu a coisa simples, que eu tentei trazer para sua compreensão, mas vejo que é inútil, porque se um encanador (por exemplo) decidisse treinar de novo temporariamente como programador, ele ainda continua sendo um encanador e pensa como um encanador, cuja coisa principal é o comprimento dos canos colocados no chão. :)
O critério de otimização do programa não é o comprimento do código, mas o número de operações para uma determinada tarefa. Se você for obrigado a multiplicar apenas uma matriz bidimensional e implementar casos muito mais gerais e desnecessários, é evidente que ninguém lhe agradecerá por tal amadorismo.
Infelizmente, você pensa apenas em termos de "solução rápida e direta de problemas" e não pensa em mudanças futuras no algoritmo do programa.
Estas são tarefas altamente especializadas que são resolvidas em 20-30 minutos devido a sua facilidade de implementação, ou estas tarefas já foram implementadas em projetos maiores.
O C-4 já disse que os algoritmos comerciais baseados no MACD estão se tornando uma coisa do passado, não vou repeti-lo
SZY: Estude pelo menos alguns desenvolvimentos em otimização de código, se este for um ponto doloroso para você, aqui estão as coisas que as pessoas têm trabalhado: http: //www.realcoding.net/article/rubric/code_optim?page=6
Despeço-me mais uma vez nesta linha, não vejo necessidade de me repetir, quem quer entender o que é OOP e programação eficiente, acho que ele mesmo entenderá ou pesquisará no Google?
Errado novamente. A interpretação do fluxo de entrada é a tarefa daquele que está acima do receptor e estabelece as condições do jogo. O receptor é de ferro; ele tritura as informações de acordo com o algoritmo definido para ele pelo Game Master. Neste sentido, é completamente e estritamente objetivo, porque é um ferro burro. Mas subjetivo é o Mestre.
Você sabia que as informações podem ser interpretadas de maneira diferente, dependendo do contexto da tarefa em questão?