矩阵包的研究 - 页 5

 
Alexey Volchanskiy:

很好,这是我第一天学习R,请回答问题,我想比较R和Matlab的特点。但不要有敌意,要理智和冷静 :)。

  1. R是一种具有OOP功能的语言吗?
  2. 我可以用R制作一个32位和一个64位的dll,从MQL4/5直接使用吗?如果是这样,我必须安装多大的包才能在用户的电脑上使用这样的dll?
  3. 我可以连接普通的dlls,以便从R中直接访问吗?
  4. R语言中是否有Simulink的类似物?
  5. 为什么所有的评论都强调R是一个统计程序?我对DSP感兴趣,R有数字信号处理的包吗?
  6. R是否有一个内置的紧凑格式来存储数据,类似于Matlab中的.mat文件?

1.是的。

2.为什么?你需要一个MT4R.dll,它是将数据传输到R并获得结果的网关。

3.对所有现有的数据库。不仅如此,微软和甲骨文都已将R集成到他们的数据库中。

4.R有各种与Matlab接口的选项,从简单的Matlab文件交换到从R执行Matlab函数。如果你有这方面的经验,你可以用R实现一个优秀的Matlab-MTterminal接口。

5.在R中,实现了科学技术所有方向的软件包,并考虑到了最新的成就。你可以从这里 开始。

6.不止一个。最常见的是FF。

一般来说,我很惊讶。你是在荒郊野外。翻阅本网站的文章12,你不会明白很多东西,但你会对语言的运作有一个概念。

我正在完成关于深度学习的第二篇文章,希望明天能发给你修改,例子会附在后面...如果有兴趣的话,我想我会写几篇关于初始层次(过滤、分解、预测等)的文章。当然,还要继续挖掘深度学习,尤其是谷歌为大家开放了TensorFlow 库。还有其他一些同样有趣和有前途的(mxnet、pyBrain)。

如果有一群爱好者聚集在一起,我们可以组织一个R语言用户的分支。

祝好运

 
Alexey Volchanskiy:
请更详细地描述通过这个DLL工作的过程。那么在哪里可以得到它呢?
我在答复中给出了一些文章的链接。那里有一些例子。
 
在档案中发现了一些很好的俄文材料
Введение в R
  • Alexander Novopoltsev
  • rstudio-pubs-static.s3.amazonaws.com
Установить среду R Установить графическую оболочкуRStudio. Установка R Markdown (для создания автоматически генерируемых отчетов): в RStudio автоматически при первом создании файла с расширением “.Rmd”. Установка библиотек расширений: набрать в консоли install.packages(“pname”), где “pname” - название библиотеки. Полный список библиотек по...
 
Renat Fatkhullin:

让我们讨论一下,我们如何能够与R进行更好的整合?

  1. 与R的API级集成
  2. 在MQL4/MQL5中对R包的本地支持,因此,可以直接调用包的任何功能
  3. 别的东西

这是一个有趣的话题,它可以得到很好的发展。

你好。

我将对之前所说的内容进行补充。

由于几个原因,方案1 是首选。

  • 它不需要在终端和编辑器中做任何大幅度的改变。
  • 它不需要你花费太多的时间和精力,而且我们可以在开发中快速而轻松地使用R语言。
  • 将给你一个机会来研究你的客户对它的需求(必要性)。在我看来,在讲英语的部分,这种需求很高。
  • 我们仍然能够使用常规的开发和调试工具(Rstudio、Jupiter、Knitr)。

在这个变体中,我们只是向R进程提供数据传输并从它那里接收数据。目前,MT4R.mqh中提供的内容已经足够多了。

我们唯一希望看到的是,通过绕过终端的R程序请求获得报价。不管是来自终端的本地文件/缓冲区还是直接来自经纪公司的服务器,都没有关系。但这并不是一个关键的愿望。

我的非专业意见是,变体2 不仅需要在终端上进行根本性的改变,也需要在编辑器上进行改变。我还记得最后一次对航站楼进行重新设计时,感到不寒而栗。这个变体可以与第一个变体的实现同时开发,并在大多数客户习惯后实施,特别是当他们看到使用这种语言的好处时。当然,终端和编辑器与R语言的完全整合是理想的。

我很高兴你注意到了这个方向。

祝好运

 
Renat Fatkhullin:

让我们讨论一下,我们如何能够与R进行更好的整合?

  1. 与R的API级集成
  2. 在MQL4/MQL5中对R包的本地支持,因此,可以直接调用包的任何功能
  3. 别的东西

这是一个有趣的话题,可以得到很好的发展。

我一直想知道为什么MT不包括在R中?

如果你看一下MT的15年,它是一个进化的发展,当时功能在增长,但主要的东西--客户--保持不变。它是一个使用TA作为工具的伪交易商。

1.R中包含的MT将允许你加入专业的交易员社区,那些组织不仅有数百名,而且有数千名交易员使用统计学、计量经济学、机器学习等形式的专业工具 ....

2.在R中加入MT,将使在教学过程中使用MT成为可能,这并不是不重要的。有一次,在教授机械交易系统这一工具时,我选择了Quick和Metastock,虽然我知道MT,但它有一种语言,必须教给学生,而且程序中没有提供。将MT纳入R的算法语言作为EA编写工具,消除了所有的学习问题--R是在与终端的连接之外学习的。

在我看来。

1.MT本身必须是一个R语言的GUI(有例子,也有建立这种GUI的工具--shiny)。 这个GUI最好是一个终端的副本,或者最好是两个都是

2.R算法语言。专家顾问是用R语言编写的,所有的具体交易功能都是作为一个包来实现的。在这种情况下,据我所知,调用特殊函数的语法将保持不变。这是一个标准的解决方案,因为性能将由编写这些函数的语言和质量决定,它们是用C语言编写的,并经过多年的测试,其性能结果将与现有的函数相当。我想注意的是,其他计算密集型算法在R中的执行速度将是最大的,不会比它们在其他算法语言中的执行速度差,因为R中的程序通常是调用包,而对于计算密集型算法,R中没有实现。对此,应该补充的是,实现计算密集型算法的通常做法要求加载计算机的所有内核。

3.在我的非专业意见中,鉴于R和C之间非常友好的关系,以及我们看不到的内部厨房,劳动力成本不会很大,可以从现有的终端转移到新终端。

4.由经纪人持有的那部分终端将保持不变。

一旦提到的软件包被纳入CRAN镜像,元引号就会在广泛的圈子里获得狭义的宣传,而不是在狭义的圈子里获得广泛的宣传。Metakvot终端将没有竞争对手,因为唯一的R终端是IBrokers,它与某些收费的经纪人绑定。

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

我一直想知道为什么MT不包括在R中?

我一直想知道为什么他们开始自己开发一个类似C语言的编译器(我指的是早期的MQL4),而不是找一个现成的免费C++编译器,如GCC。

我曾为西方大公司工作过,没有人想到从头开始为各种嵌入式应用开发自己的C++编译器。他们总是采用gcc并将其移植到特定的处理器上。
而且,从2006年非常成功地移植到具有NEON架构的4处理器DSP(每个内核每时钟最多6条指令)的事实来看,这个编译器在适应方面相当灵活。也就是说,编译器真正实现了并联操作,每个内核平均每时钟2-4个操作,只有瓶颈问题需要在asm上进行优化。

现在让我们回顾一下MQL4到600版本的蹩脚之处。

现在开始讨论这个问题。正如Renat所解释的那样,原因是狂热地想做一个有傻瓜和入侵者保护的编译器。虽然在600版之前根本没有这样的味道,但这是一个又一个的小故障。

但是,如果你相信他的话,从安全的角度看,R是什么样子的?我对它很陌生,我从2000年起就开始使用Matlab,如果你知道什么,请解释一下。它可以像MQL4/5编译器那样加密输出文件吗?

此外,根据我的理解,R仍然是一个解释器,这意味着它将比旧的MQL4更慢,当然也比今天的MQL5慢了好几个数量级。

 
Alexey Volchanskiy:

我一直想知道为什么他们开始开发一个类似C语言的编译器(我是指早期的MQL4),而不是使用像GCC这样的免费C++编译器。

我曾为西方大公司工作过,没有人想到从头开始为各种嵌入式应用开发自己的C++编译器。他们总是采用gcc并将其移植到特定的处理器上。
而且,从2006年非常成功地移植到具有NEON架构的4处理器DSP(每个内核每时钟最多6条指令)的事实来看,这个编译器在适应方面相当灵活。也就是说,编译器真正实现了并联操作,每个内核平均每时钟2-4个操作,只有瓶颈问题需要在asm上进行优化。

现在让我们回顾一下MQL4到600版本的蹩脚之处。

现在开始讨论这个问题。正如Renat所解释的那样,原因是狂热地想做一个有傻瓜和入侵者保护的编译器。虽然在600版之前根本没有这样的味道,但这是一个又一个的小故障。

但是,如果你相信他的话,从安全的角度看,R是什么样子的?我对它很陌生,我从2000年起就开始使用Matlab,如果你知道什么,请解释一下。它可以像MQL4/5编译器那样加密输出文件吗?

此外,据我所知,R仍然是一个解释器,这意味着它将比旧的MQL4更慢,当然比今天的MQL5慢几个数量级。

阅读我关于速度的帖子。简而言之。R在很大程度上是一个外壳,你提出的问题与R完全没有关系--所有这些问题都在其他语言实现的功能中得到了解决。如果我们谈论的是加密,它肯定与终端的预期实现无关--你可以采取任何现有的东西。
 
СанСаныч Фоменко:
阅读我关于速度的帖子。简而言之。R在很大程度上是一个外壳,你提出的问题与R完全没有关系--所有这些问题都在其他语言实现的函数中得到了解决。如果我们谈论的是加密,它肯定与终端的预期实现无关--你可以采取任何现有的东西。

我有看以前帖子的习惯,所以建议不适合我 ))

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

SanSanych Fomenko2016.02.12 15:18 RU
阿列克谢-沃尔昌斯基
我必须尝试把我的一些Matlab程序翻译成R,以比较速度。如果我在周末前想出办法,我会这样做并告诉你。Matlab是相当慢的,我用C#或C++做了很多东西,并将其作为DLL插入以获得速度。

R本身是三倍的弱智。它是一个解释器。调 试方面完全没有问题,起初我开始使用调试器,后来发现没有用。

说到R速度,这里有几个考虑因素。

1.你可以把它翻译成字节码,但这是一个膏药

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

你是否意识到MQL4/5是可编译的语言?为了实现你的MT-like R终端的梦想,Metakvotam必须要做一个 R编译器

 
Alexey Volchanskiy:

但是,如果你相信他的话,从安全的角度来看,R是什么样子?我对它很陌生,我从2000年起就开始使用Matlab,如果你知道什么,请解释一下。它可以像MQL4/5编译器那样加密输出文件吗?

此外,根据我的理解,R仍然是一个解释器,这意味着它将比旧的MQL4更慢,当然比今天的MQL5慢几个数量级。

1.一切都以不同的可靠方式进行加密。

2)这从根本上说是错误的。所有繁重的计算都是用C语言写的,加上并联。

尝试和学习。

祝好运

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

让我们现实一点。

今天,带有EDITOR的MT4终端工作起来没有任何问题(至少对我来说)。我们只需要添加一个最小的东西来与R互动。

开发者对如何做这件事有更好的想法。最主要的是要快速完成,不使用户感到头痛。

祝好运