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
Finalmente traduzido para o chinês, e digno de um estudo cuidadoso de bons artigos!
Olá!
Você não descreveu como carregou as citações no ambiente env ("Since we have loaded vectors of quotes into the env...) e como você o criou.
Estou tentando repetir tudo desde o início manualmente com minhas citações, descarreguei-as em vetores, mas me deparei com esse ambiente que você criou. Não entendo como criá-lo e repeti-lo de acordo com seu exemplo.
Ajuda.
A mensagem desapareceu.
Como você transfere as citações para o Rterm? Você lê de um arquivo ou do terminal?
A mensagem desapareceu.
Como você transfere as citações para o Rterm? Você lê de um arquivo ou do terminal?
Eu mesmo já descobri mais ou menos isso. Experimentei sua Parte 1 sobre cotações EURUSD e tudo funcionou.
Eu faço o seguinte:
1. NO 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];
}
//--------Envie dados para o Rterm--------------------------------------
Rv(R, "Data",tm);
Rv(R, "Open",o);
Rv(R, "High",hi);
Rv(R, "Low",lo);
Rv(R, "Close",clo);
Rv(R, "Volume",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()
atribuir("Fechar", price1$Close, env)
atribuir("Data", price1$Data, env)
atribuir("High", price1$High, env)
atribuir("Low", price1$Low, env)
atribuir("Open", price1$Open, env)
atribuir("Volume", price1$Volume, env)
Dig <- 5;
sym <- "EURUSD";
tf <- "M15";
evalq({pr <- pr.OHLCV(Data, Open, High, Low, Close, Volume)}, env)
Não foi possível executar gráficos no MT4, não passa evalq, %>%, aes, 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 Candlestick Chart", y = "Close Price", x = "") +
theme_tq(), env)")");
Tentei da maneira antiga, sem a variável de ambiente env, descarreguei os dados, o comando ggplot(,) é iniciado e a janela do gráfico é aberta. Com parâmetros, não dá.
Eu mesmo já descobri mais ou menos o que fazer. Experimentei sua Parte 1 sobre cotações EURUSD e tudo funcionou.
Eu faço o seguinte:
1. NO 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];
}
//--------Envie dados para o Rterm--------------------------------------
Rv(R, "Data",tm);
Rv(R, "Open",o);
Rv(R, "High",hi);
Rv(R, "Low",lo);
Rv(R, "Close",clo);
Rv(R, "Volume",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()
atribuir("Fechar", price1$Close, env)
atribuir("Data", price1$Data, env)
atribuir("High", price1$High, env)
atribuir("Low", price1$Low, env)
atribuir("Open", price1$Open, env)
atribuir("Volume", price1$Volume, env)
Dig <- 5;
sym <- "EURUSD";
tf <- "M15";
evalq({pr <- pr.OHLCV(Data, Open, High, Low, Close, Volume)}, env)
Não foi possível executar gráficos no MT4, não passa evalq, %>%, aes, 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 Candlestick Chart", y = "Close Price", x = "") +
theme_tq(), env)")");
Tentei da maneira antiga, sem a variável de ambiente env, descarreguei os dados, o comando ggplot(,) é iniciado e a janela do gráfico é aberta. Com parâmetros, não dá.
Bom dia.
Essa transferência do terminal é desnecessária. Você carrega no ambiente global e depois transfere para o ambiente env. Depois disso, você terá que limpar o ambiente global. O objetivo de carregar e processar dados em um ambiente separado é evitar conflito de nomes ao usar vários TFs de um símbolo ou de vários símbolos. Todos eles são processados pelos mesmos scripts e os dados de origem e os resultados têm os mesmos nomes, mas cada um em seu próprio ambiente. Precisamos fazer isso:
Em Init().
Rx(R, "env <- new.env()");
//Aqui pode ser qualquer símbolo, por exemplo, EURUSD <- new.env(). Em seguida, os dados serão acessados de acordo com EURUSD$price.
Em start().
Os dados entrarão imediatamente em um ambiente separado env. E, posteriormente, trabalharemos com eles por meio de evalq().
evalq({pr <- pr.OHLCV(Data, Open, High, Low, Close, Volume)}, env)Tente fazer isso com gráficos:
Eu não produzo gráficos dessa forma. Por favor, escreva-me como você verificou isso.
Boa sorte
Boa tarde.
Essa transferência do terminal é desnecessária. Você carrega no ambiente global e depois transfere para o ambiente env. Depois disso, você terá que limpar o ambiente global. O objetivo de carregar e processar dados em um ambiente separado é evitar conflito de nomes ao usar vários TFs de um símbolo ou de vários símbolos. Todos eles são processados pelos mesmos scripts e os dados de origem e os resultados têm os mesmos nomes, mas cada um em seu próprio ambiente. Precisamos fazer isso:
Em Init().
Rx(R, "env <- new.env()");
//Aqui pode ser qualquer símbolo, por exemplo, EURUSD <- new.env(). Em seguida, os dados serão acessados de acordo com EURUSD$price.
Em start().
Os dados entrarão imediatamente em um ambiente separado env. E, posteriormente, trabalharemos com eles por meio de evalq().
Tente fazer isso com gráficos:
Eu não produzo gráficos dessa forma. Por favor, escreva-me como você verificou isso.
Boa sorte
Tudo funcionou com o upload. Obrigado!
Mas com o gráfico, não funciona. Ele apresenta um erro. Embora as bibliotecas estejam carregadas.
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)");
Verifiquei a mesma coisa no RStudio, ele não encontra %>%.( Erro em env$pr %>% tail(., 500) %>% ggplot(aes(x = env$Data, y = env$Close)) :
não foi possível encontrar a função "%>%")Tudo deu certo com o upload. Obrigado!
Mas com o gráfico, não está funcionando. Ele apresenta um erro. Embora as bibliotecas estejam carregadas.
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)");
Verifiquei a mesma coisa no RStudio, ele não encontra %>%.( Erro em env$pr %>% tail(., 500) %>% ggplot(aes(x = env$Data, y = env$Close)) :
Nesse script, %>% está fora do lugar. Tente
É melhor escrever tudo isso no R em vez de no terminal. Não tenho certeza se essa combinação funcionará. Não escrevo dessa forma há muito tempo, portanto, não tenho opinião.
Boa sorte
Nesse script, %>% está fora do lugar. Experimente
O erro não funciona, tanto no MT4 quanto no 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:O ggplot2 não sabe como lidar com dados da classe uneval
Então inserido no 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())");
Não funciona, erro tanto no MT4 quanto no RStudio:
No ggplot2 (v2.2.1), a definição de geom_candlestick (MRO 3.4.1) desapareceu.
Já desmontei o MRO 3.4.0, no qual fiz todos os cálculos, então encontrarei uma solução amanhã e escreverei.
Que versão do R você tem?