文章 "深度神经网络 (第 I 部)。准备数据" - 页 2

 

Finally translated into Chinese, and worthy of careful study of good articles!

 

您好!

您没有说明是如何将引号加载到 env 环境中的("既然我们已经将引号向量加载到env 环境中......),也 没有说明是如何创建的。

我正试着从头开始手动重复我的引号,我把它们卸载到了向量中,但我遇到了你创建的这个环境。我不明白如何创建它,并按照你的示例重复它。

请帮助我。

 

信息已丢失。

如何将引号传输到 Rterm?是从文件读取还是从终端读取?

 
Vladimir Perervenko:

信息已丢失。

如何将引号传输到 Rterm?是从文件读取还是从终端读取?


我自己或多或少已经弄明白了。我尝试了您关于欧元兑美元报价的 第 1 部分,一切正常。

我的操作如下:

1.在 MT4 中

for(i = 0; i < lim; i++)

{

tm[i] = Time[i+1];

o[i] = Open[i+1];

hi[i] = High[i+1];

lo[i] = Low[i+1];

clo[i]= Close[i+1];

vol[i]= Volume[i+1];


}

//-------- 发送数据到 Rterm--------------------------------------

Rv(R, "Data",tm);

Rv(R, "Open",o);

Rv(R, "High",hi);

Rv(R, "Low",lo);

Rv(R, "Close",clo);

Rv(R, "成交量",vol);

2.IN R -.

price_orig <- cbind(Close = rev(Close), Data = rev(Data), High = rev(High), Low = rev(Low), Open = rev(Open), Volume = rev(Volume) )

price1 <- data.frame(price_orig)

price2 <- as.list(price1)


env <- new.env()

assign("Close", price1$Close, env)

赋值("数据",price1$Data,env)

分配("最高价",price1$High,env)

赋值("低点", price1$Low, env)

指定("开盘价", price1$Open, env)

赋值("成交量",price1$Volume,env)

Dig <- 5;

sym <- "EURUSD";

tf <- "M15";


evalq({pr <- pr.OHLCV(Data, Open, High, Low, Close, Volume)}, env)


无法在 MT4 中运行图表,无法通过 evalq,%>%,aees,geom_candlestick :

Rx(R, "evalq(pr %>% tail(., 500) %>%)

ggplot(aes(x = Data, y = Close)) +

geom_candlestick(aes(open = Open, high = High, low = Low, close = Close)) +

labs(title = "EURJPY 烛台图", y = "收盘价", x = "") +

theme_tq(), env)")");

我尝试了不带环境变量 env 的老方法,卸载数据后,命令 ggplot(,) 启动,图表窗口打开。有了参数后就不行了。

 
Konstantin Kopylov:

我自己或多或少也想明白了。我尝试了您关于欧元兑美元报价的第 1 部分,一切正常。

我做了以下工作:

1.在 MT4 中

for(i = 0; i < lim; i++)

{

tm[i] = Time[i+1];

o[i] = Open[i+1];

hi[i] = High[i+1];

lo[i] = Low[i+1];

clo[i]= Close[i+1];

vol[i]= Volume[i+1];


}

//-------- 发送数据到 Rterm--------------------------------------

Rv(R, "Data",tm);

Rv(R, "Open",o);

Rv(R, "High",hi);

Rv(R, "Low",lo);

Rv(R, "Close",clo);

Rv(R, "成交量",vol);

2.IN R -.

price_orig <- cbind(Close = rev(Close), Data = rev(Data), High = rev(High), Low = rev(Low), Open = rev(Open), Volume = rev(Volume) )

price1 <- data.frame(price_orig)

price2 <- as.list(price1)


env <- new.env()

assign("Close", price1$Close, env)

赋值("数据",price1$Data,env)

分配("最高价",price1$High,env)

赋值("低点", price1$Low, env)

指定("开盘价", price1$Open, env)

赋值("成交量",price1$Volume,env)

Dig <- 5;

sym <- "EURUSD";

tf <- "M15";


evalq({pr <- pr.OHLCV(Data, Open, High, Low, Close, Volume)}, env)


无法在 MT4 中运行图表,无法通过 evalq,%>%,aees,geom_candlestick :

Rx(R, "evalq(pr %>% tail(., 500) %>%)

ggplot(aes(x = Data, y = Close)) +

geom_candlestick(aes(open = Open, high = High, low = Low, close = Close)) +

labs(title = "EURJPY 烛台图", y = "收盘价", x = "") +

theme_tq(), env)")");

我试过不带环境变量 env 的老方法,卸载数据后,命令 ggplot(,) 启动,图表窗口打开。有了参数,就不行了。

日安。

没有必要从终端传输数据。先加载到全局环境,然后再转移到 env 环境。之后您必须清理全局环境。在独立环境中加载和处理数据是为了避免在使用一个或多个符号的多个 TF 时发生名称冲突。所有 TF 都由相同的脚本处理,源数据和结果具有相同的名称,但每个 TF 都在各自的环境中。我们需要这样做

在 Init().

Rx(R, "env <- new.env()");

//这里可以是任何符号,例如EURUSD<- new.env()。然后根据 EURUSD$price 访问数据。

在 start() 中。

 //-------- 向 Rterm 发送数据--------------------------------------

      Rv(R,"env$Data",tm);

      Rv(R,"env$Open",o);

      Rv(R,"env$High",hi);

      Rv(R,"env$Low",lo);

      Rv(R,"env$Close",clo);

      Rv(R,"env$Volume",vol);

数据将立即进入一个单独的环境 env。然后通过 evalq() 对其进行进一步处理。

evalq({pr <- pr.OHLCV(Data, Open, High, Low, Close, Volume)}, env)

用这种方法试试图表:

Rx(R,"env$pr %>% tail(., 500) %>%

        ggplot(aes(x = env$Data, y = env$Close)) +

        geom_candlestick(aes(open = env$Open, high = env$High, low = env$Low, close = env$Close)) +

        labs(title = "EURJPY Candlestick Chart", y = "Close Price", x = "") + 

        theme_tq()");

我不这样输出图表。请告诉我你是如何检查的。

祝你好运

 
Vladimir Perervenko:

下午好

从终端转移是不必要的。您可以先加载到全局环境,然后再转移到 env 环境。之后,您必须清理全局环境。在独立环境中加载和处理数据的目的是为了避免在使用一个或多个符号的多个 TF 时发生名称冲突。所有 TF 都由相同的脚本处理,源数据和结果具有相同的名称,但每个 TF 都在各自的环境中。我们需要这样做

在 Init().

Rx(R, "env <- new.env()");

//这里可以是任何符号,例如 EURUSD <- new.env()。然后根据 EURUSD$price 访问数据。

在 start() 中。

数据将立即进入一个单独的环境 env。然后通过 evalq() 对其进行进一步处理。

用这种方法试试图表:

我不这样输出图表。请告诉我你是如何检查的。

祝你好运


上传后一切正常。谢谢!

但是图表却不行。它给出了一个错误。虽然库已加载。

Rx(R, "library(magrittr)");

Rx(R, "library(dplyr)");

Rx(R, "library(xts)");

Rx(R, "library(anytime)");

Rx(R, "library(quantmod)");

Rx(R),"library(TTR)");

Rx(R, "library(ggplot2)");


RStudio 检查同样的内容,没有发现%>%.(env$pr 中的错误 %>% tail(., 500) %>% ggplot(aes(x = env$Data, y = env$Close)):

 找不到函数 "%>%")
 
Konstantin Kopylov:

上传后一切正常。谢谢!

但是图表却不行。它给出了一个错误。虽然库已加载。

Rx(R, "library(magrittr)");

Rx(R, "library(dplyr)");

Rx(R, "library(xts)");

Rx(R, "library(anytime)");

Rx(R, "library(quantmod)");

Rx(R),"library(TTR)");

Rx(R, "library(ggplot2)");


RStudio 检查同样的内容,没有发现%>%.(env$pr 中的错误 %>% tail(., 500) %>% ggplot(aes(x = env$Data, y = env$Close)):

在这个脚本中,%>% 的位置不对。尝试

Rx(R,"env$pr %>% tail(., 500) -> tpr;

        ggplot(aes(x = tpr$Data, y = tpr$Close)) +

        geom_candlestick(aes(open = tpr$Open, high = tpr$High, low = tpr$Low, close = tpr$Close)) +

        labs(title = "EURJPY Candlestick Chart", y = "Close Price", x = "") + 

        theme_tq()");

最好用 R 语言而不是终端编写所有这些内容。我不确定这种组合是否有效。我很久没这样写了,所以没有意见。

祝你好运

 
Vladimir Perervenko:

在这个脚本中,%>% 的位置不对。试试看


不起作用,MT4 和 RStudio 都出错:

> env$pr %>% tail(., 500) -> tpr> 
> ggplot(aes(x = tpr$Data, y = tpr$Close)) ++ +    
 + geom_candlestick(aes(open = tpr$Open, high = tpr$High, low = tpr$Low, close = tpr$Close))) + + +    
 + labs(title = "EURJPY Candlestick Chart", y = "Close Price", x = "") + ++    
 + theme_tq()Error:ggplot2 不知道如何处理 uneval 类数据

所以插入 MQL Rx(R, "env$pr %>% tail(., 500) -> tpr"); Rx(R, "ggplot(aes(x = tpr$Data, y = tpr$Close)) + geom_candlestick(aes(open = tpr$Open, high = tpr$High, low = tpr$Low, close = tpr$Close)) + labs(title = 'EURUSD Candlestick Chart', y = 'Close Price', x = '') + theme_tq())");

 
Konstantin Kopylov:

它不起作用,在 MT4 和 RStudio 中都出错:

ggplot2 中的某些功能已得到改进。我现在就去检查。
 

在 ggplot2(v2.2.1) 中,geom_candlestick(MRO 3.4.1)的定义消失了。

我已经拆掉了 MRO 3.4.0,我在其中进行了所有计算,所以明天我会找到解决方案并写出来。

您使用的是哪个版本的 R?