Pesquisa em pacotes matriciais - página 5

 
Alexey Volchanskiy:

Ótimo, é meu primeiro dia de aprendizado R, responda minhas perguntas por favor, quero comparar as possibilidades de R e Matlab. Mas não hospede hostilidade, seja razoável e calmo :).

  1. R é um idioma com capacidades OOP?
  2. Posso usar R para fazer uma dll de 32 e 64 bits para uso direto da MQL4/5? Em caso afirmativo, que tamanho de pacote devo instalar para usar tal dll no computador de um usuário?
  3. Posso conectar dlls comuns para acesso direto da R?
  4. Existe um análogo de Simulink em R?
  5. Por que todas as revisões enfatizam que R é um programa de estatísticas? Estou interessado em DSP, R tem pacotes para processamento de sinais digitais?
  6. O R tem um formato compacto incorporado para armazenar dados, semelhante aos arquivos .mat do Matlab?

1. Sim.

2. Por que ? Você precisa de uma única MT4R.dll que é o portal para transferir dados para R e obter resultados de volta.

3. A todos os bancos de dados existentes. Não apenas isso, mas tanto a Microsoft quanto a Oracle integraram o R em seus bancos de dados.

4. R tem várias opções de interface com Matlab, desde a simples troca de arquivos Matlab até a execução das funções Matlab a partir de R. Se você tem experiência nesta área, você pode implementar uma excelente interface Matlab-MTterminal com o R.

5. Em R os pacotes para todas as direções de uma ciência e técnica e levando em conta as últimas realizações são realizados. Você pode começar a partir daqui.

6. Há mais de um. O mais comum é ff.

Em geral, fico surpreso. Você está no meio do nada. Veja os artigos 1 e 2 deste site e você não vai entender muito, mas terá uma idéia de como o idioma funciona.

Estou terminando o segundo artigo sobre aprendizado profundo que espero enviar a vocês amanhã para revisão e os exemplos serão anexados aos especialistas... Se houver interesse, acho que vou escrever vários artigos no nível inicial (filtragem, decomposição, previsão, etc.). E, é claro, continuem a estudar a fundo, especialmente quando o Google abriu sua biblioteca TensorFlow para todos. E há outros não menos interessantes e promissores (mxnet, pyBrain).

Se um grupo de entusiastas se reúne, podemos organizar um ramo de usuários do idioma R.

Boa sorte.

 
Alexey Volchanskiy:
Por favor, descreva o processo de trabalho através desta DLL com mais detalhes. E onde consegui-lo?
Eu dei alguns links para artigos em minha resposta. Há exemplos disso.
 
Encontrei um bom material em russo no arquivo
Введение в R
  • Alexander Novopoltsev
  • rstudio-pubs-static.s3.amazonaws.com
Установить среду R Установить графическую оболочкуRStudio. Установка R Markdown (для создания автоматически генерируемых отчетов): в RStudio автоматически при первом создании файла с расширением “.Rmd”. Установка библиотек расширений: набрать в консоли install.packages(“pname”), где “pname” - название библиотеки. Полный список библиотек по...
 
Renat Fatkhullin:

Vamos discutir como podemos fazer uma melhor integração com o R?

  1. Integração a nível de API para R
  2. suporte nativo para pacotes R em MQL4/MQL5, para que qualquer funcionalidade de pacotes possa ser chamada diretamente
  3. algo mais

É um tema interessante e pode ser bem desenvolvido.

Hi.

Vou acrescentar ao que já foi dito antes.

Aopção1 é preferida por várias razões:

  • Não exigirá nenhuma mudança radical no terminal e no editor.
  • Não exigirá muito tempo e esforço de sua parte e podemos usar rápida e facilmente a linguagem R em nossos desenvolvimentos.
  • lhe dará a oportunidade de estudar a demanda (necessidade) para ela para seus clientes. No segmento de língua inglesa, na minha opinião, esta necessidade é alta.
  • Poderíamos ainda utilizar ferramentas de desenvolvimento e depuração regulares (Rstudio, Júpiter, Knitr).

Nesta variante nós simplesmente fornecemos transferência de dados para o processo R e recebemos dados a partir dele. O que é fornecido no MT4R.mqh é mais do que suficiente por enquanto.

A única coisa que gostaríamos de ver adicionalmente é obter citações por solicitação do processo R contornando o terminal. Não importa se a partir de arquivos/buffers locais do terminal ou diretamente do servidor de uma corretora. Mas não é um desejo crucial.

Minha opinião não profissional é quea variante 2 requer mudanças cardinais não apenas no terminal, mas também no editor. E lembro-me do último redesenho cardinal do terminal com um estremecimento. Esta variante pode ser desenvolvida simultaneamente com a realização da primeira variante e implementada quando a maioria dos clientes se acostuma a ela, e especialmente quando vêem os benefícios do uso desta linguagem. Naturalmente, a integração total do terminal e do editor com a linguagem R é ideal.

Estou feliz que você tenha prestado sua atenção a esta direção.

Boa sorte.

 
Renat Fatkhullin:

Vamos discutir como podemos fazer uma melhor integração com o R?

  1. Integração a nível de API para R
  2. suporte nativo para pacotes R em MQL4/MQL5, para que qualquer funcionalidade de pacotes possa ser chamada diretamente
  3. algo mais

Este é um tema interessante e poderia ser bem desenvolvido.

Eu sempre me perguntei por que a MT não está incluída no R?

Se você olhar para 15 anos de MT, é um desenvolvimento evolutivo, quando a funcionalidade estava crescendo, mas o principal - o cliente - permaneceu o mesmo. É um pseudo-comerciante que usa o TA como ferramenta.

1. A inclusão da MT no R permitirá que você se una à comunidade profissional de comerciantes, aquelas organizações com não apenas centenas, mas milhares de comerciantes usando ferramentas profissionais na forma de estatísticas, econometria, aprendizado de máquinas ....

2. Não é sem importância que a inclusão da MT no R tornará possível o uso da MT no processo de ensino. Em algum momento, ensinando sistemas comerciais mecânicos como ferramenta, escolhi Quick e Metastock, embora eu conhecesse a MT, mas ela tinha uma linguagem que tinha que ser ensinada aos estudantes, e não era fornecida no programa. A incorporação do MT ao R com a linguagem algorítmica R como uma ferramenta de escrita EA, elimina todos os problemas de aprendizagem - R é aprendido fora da conexão com os terminais.

Do jeito que vejo as coisas:

1. O próprio MT deve ser uma GUI em R (exemplos estão disponíveis, assim como uma ferramenta para construir tal GUI - brilhante). É muito desejável que esta GUI seja uma cópia de um dos terminais, ou melhor ambos

2. linguagem algorítmica R. Os Expert Advisors são escritos na linguagem R, e todas as funções comerciais específicas são implementadas como um pacote. Neste caso, tanto quanto sei, a sintaxe para chamar funções especiais permanecerá a mesma. Esta é uma solução padrão, pois o desempenho será determinado pela linguagem e qualidade de escrita destas funções, e elas, sendo escritas em C, e testadas por muitos anos, darão os resultados de desempenho comparáveis aos já existentes. Quero prestar atenção que a velocidade de execução de outros algoritmos computacionalmente intensivos em R será máxima e não inferior à sua implementação em outras linguagens algorítmicas, uma vez que um programa em R é normalmente chamado para pacotes, que para algoritmos computacionalmente intensivos não são implementados em R. A isto deve ser adicionado que a prática usual de realização de algoritmos computacionalmente intensivos exige o carregamento de todos os núcleos de computador.

3. Na minha opinião não profissional, os custos de mão-de-obra não serão grandes, dada a relação muito amigável entre R e C e a cozinha interna, que não podemos ver, pode ser transferida do terminal existente para o novo terminal.

4. A parte do terminal mantida pelos corretores permanecerá inalterada.

Assim que os pacotes mencionados são incluídos nos espelhos CRAN, as metacotas ganham publicidade estreita em círculos largos em vez de ampla publicidade em círculos estreitos. O terminal Metakvot não terá concorrentes, pois o único terminal R disponível é o IBrokers, que está vinculado a certos corretores baseados em taxas.

 
СанСаныч Фоменко:

Eu sempre me perguntei por que a MT não está incluída no R?

E eu sempre me perguntei por que eles mesmos começaram a desenvolver um compilador tipo C (quero dizer, no início MQL4) em vez de obter um compilador C++ pronto e gratuito como o GCC.

Trabalhei para grandes empresas ocidentais e ninguém jamais pensou em desenvolver seu próprio compilador C++ para várias aplicações incorporadas a partir do zero. Eles sempre levaram o gcc e fizeram uma porta para um processador específico.
E a julgar pelo fato de que uma porta muito bem sucedida para DSP 4-processadores com arquitetura NEON (até 6 instruções por relógio por núcleo) foi feita em 2006, este compilador é bastante flexível para adaptação. Ou seja, o compilador realmente paralela às operações com uma média de 2-4 operações por relógio por núcleo, apenas os gargalos tinham que ser otimizados em um ambiente de trabalho.

E agora vamos lembrar a porcaria que foi a MQL4 até a versão 600.

Agora sobre o assunto. Como Renat explicou, a razão era um desejo maníaco de fazer um compilador com a proteção de tolo e intruso. Embora nem cheirasse assim antes da versão 600, era uma falha sobre uma falha.

Mas, se você considerar as palavras dele como valor de face, como R se parece do ponto de vista da segurança? Sou bastante novo nisso, trabalho com Matlab desde 2000, portanto, se você souber de alguma coisa, por favor explique. Pode encriptar arquivos de saída como compiladores MQL4/5?

Além disso, tanto quanto entendi R continua sendo um intérprete, isso significa que será ainda mais lento que o antigo MQL4 e certamente mais lento por ordens de magnitude do que o MQL5 de hoje.

 
Alexey Volchanskiy:

Sempre me perguntei por que eles começaram a desenvolver um compilador tipo C (quero dizer, MQL4) em vez de usar um compilador C++ livre como o GCC.

Trabalhei para grandes empresas ocidentais e ninguém jamais pensou em desenvolver seu próprio compilador C++ para várias aplicações incorporadas a partir do zero. Eles sempre levaram o gcc e fizeram uma porta para um processador específico.
E a julgar pelo fato de que uma porta muito bem sucedida para DSP 4-processadores com arquitetura NEON (até 6 instruções por relógio por núcleo) foi feita em 2006, este compilador é bastante flexível para adaptação. Isto é, o compilador realmente paralela às operações com uma média de 2-4 operações por relógio por núcleo, apenas os gargalos tinham que ser otimizados em um ambiente de trabalho.

E agora vamos lembrar a porcaria que foi a MQL4 até a versão 600.

Agora sobre o assunto. Como Renat explicou, a razão era um desejo maníaco de fazer um compilador com a proteção de tolo e intruso. Embora nem cheirasse assim antes da versão 600, era uma falha sobre uma falha.

Mas, se você considerar as palavras dele como valor de face, como R se parece do ponto de vista da segurança? Sou bastante novo nisso, trabalho com Matlab desde 2000, portanto, se você souber de alguma coisa, por favor explique. Pode encriptar arquivos de saída como compiladores MQL4/5?

Além disso, como eu entendo, R continua sendo um intérprete, o que significa que será ainda mais lento que a antiga MQL4 e certamente mais lento por ordens de magnitude que a MQL5 de hoje.

Leia meus posts sobre velocidade. Resumidamente. R é em grande parte uma concha e as questões que você levanta não têm nada a ver com R - todas estas questões são resolvidas dentro das funções implementadas em outros idiomas. Se estamos falando de criptografia, certamente não tem nada a ver com a implementação pretendida do terminal - você pode levar qualquer coisa existente.
 
СанСаныч Фоменко:
Leia meus posts sobre velocidade. Resumidamente. R é em grande parte uma casca e os problemas que você levanta não têm nada a ver com R - todos estes problemas são resolvidos dentro de funções implementadas em outros idiomas. Se estamos falando de criptografia, certamente não tem nada a ver com a implementação pretendida do terminal - você pode levar qualquer coisa existente.

Eu tenho o hábito de ler posts anteriores, então o conselho não é para mim ))

**************************

SanSanych Fomenko2016.02.12 15:18 RU
Alexey Volchanskiy:
Devo tentar traduzir alguns de meus programas Matlab para R para comparar a velocidade. Se eu conseguir descobrir até o fim de semana, eu o farei e o informarei. O Matlab é bastante lento, faço muitas coisas em C# ou C++ e o conecto como uma DLL para velocidade.

O próprio R é três vezes retardado. É um intérprete. Sem problemas com a depuração, no início comecei a usar um depurador e depois me tornei inútil.

Falando em velocidade R, há várias considerações aqui.

1. você pode traduzi-lo para byte-código, mas é uma cataplasma

**************************

Você percebe que MQL4/5 são idiomas compiláveis? E que para o seu sonho de um terminal MT tipo R Metakvotam terá que fazer um compilador R?

 
Alexey Volchanskiy:

Mas, se você considerar as palavras dele como valor de face, como R se parece do ponto de vista da segurança? Sou bastante novo nisso, trabalho com Matlab desde 2000, portanto, se você souber de alguma coisa, por favor explique. Pode encriptar arquivos de saída como compiladores MQL4/5?

Além disso, como eu entendo, R continua sendo um intérprete, o que significa que será ainda mais lento que a antiga MQL4 e certamente mais lento por ordens de magnitude do que a MQL5 de hoje.

1. tudo é criptografado de diferentes maneiras confiáveis.

2) Isto é fundamentalmente errado. Todos os cálculos pesados são escritos em C mais paralelos.

Tente e aprenda.

Boa sorte.

 
СанСаныч Фоменко:

Vamos ser realistas.

Hoje o terminal MT4 com o EDITOR funciona sem nenhum problema (pelo menos para mim). Só precisamos acrescentar a menor coisa para interagir com o R.

Os desenvolvedores têm uma idéia melhor de como fazer isso. O principal é fazer isso rapidamente e sem dores de cabeça para os usuários.

Boa sorte.