source("prices.R")
source("chart-d3.R")
library(tidyquant)
prices <- api(instrument = "EUR/USD", period = "one_hour", limit = 1000)
data <- prices$data %>%
tq_mutate(select = "close", mutate_fun = EMA, n = 15, col_rename = "ema15") %>%
tq_mutate(select = "close", mutate_fun = EMA, n = 30, col_rename = "ema30") %>%
tq_mutate(select = "close", mutate_fun = EMA, n = 60, col_rename = "ema60")
data
data %>%
tail(n = 250) %>%
chart(script = "
chart(svg).instance(data, { left: 10, right: 10, top: 10, bottom: 10 })
.candles(0.5)
.line('ema15', 'red', 0.6)
.line('ema30', 'red', 0.7)
.line('ema60', 'red', 0.8)
")
foo <- function(...) {
return(as.list(match.call()))
}
foo.candles <- function() {
}
foo.line <- function() {
}
foo(price = foo.candles(), ema30 = foo.line())
[[1]]
foo
$price
foo.candles()
$ema30
foo.line()
LS0tCnRpdGxlOiAiZDMgY2FuZGxlcyBleHBlcmltZW50IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCmBgYHtyIHNldHVwLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpzb3VyY2UoInByaWNlcy5SIikKc291cmNlKCJjaGFydC1kMy5SIikKbGlicmFyeSh0aWR5cXVhbnQpCmBgYAoKYGBge3J9CnByaWNlcyA8LSBhcGkoaW5zdHJ1bWVudCA9ICJFVVIvVVNEIiwgcGVyaW9kID0gIm9uZV9ob3VyIiwgbGltaXQgPSAxMDAwKQoKZGF0YSA8LSBwcmljZXMkZGF0YSAlPiUgCiAgdHFfbXV0YXRlKHNlbGVjdCA9ICJjbG9zZSIsIG11dGF0ZV9mdW4gPSBFTUEsIG4gPSAxNSwgY29sX3JlbmFtZSA9ICJlbWExNSIpICU+JQogIHRxX211dGF0ZShzZWxlY3QgPSAiY2xvc2UiLCBtdXRhdGVfZnVuID0gRU1BLCBuID0gMzAsIGNvbF9yZW5hbWUgPSAiZW1hMzAiKSAlPiUKICB0cV9tdXRhdGUoc2VsZWN0ID0gImNsb3NlIiwgbXV0YXRlX2Z1biA9IEVNQSwgbiA9IDYwLCBjb2xfcmVuYW1lID0gImVtYTYwIikKYGBgCgpgYGB7cn0KZGF0YQpgYGAKCmBgYHtyfQpkYXRhICU+JSAKICB0YWlsKG4gPSAyNTApICU+JSAKICBjaGFydChzY3JpcHQgPSAiCiAgICAgICAgY2hhcnQoc3ZnKS5pbnN0YW5jZShkYXRhLCB7IGxlZnQ6IDEwLCByaWdodDogMTAsIHRvcDogMTAsIGJvdHRvbTogMTAgfSkKICAgICAgICAgIC5jYW5kbGVzKDAuNSkKICAgICAgICAgIC5saW5lKCdlbWExNScsICdyZWQnLCAwLjYpCiAgICAgICAgICAubGluZSgnZW1hMzAnLCAncmVkJywgMC43KQogICAgICAgICAgLmxpbmUoJ2VtYTYwJywgJ3JlZCcsIDAuOCkKICAgICAgICAiKQpgYGAKYGBge3J9CmZvbyA8LSBmdW5jdGlvbiguLi4pIHsKICByZXR1cm4oYXMubGlzdChtYXRjaC5jYWxsKCkpKQp9Cgpmb28uY2FuZGxlcyA8LSBmdW5jdGlvbigpIHsKfQoKZm9vLmxpbmUgPC0gZnVuY3Rpb24oKSB7Cn0KCmZvbyhwcmljZSA9IGZvby5jYW5kbGVzKCksIGVtYTMwID0gZm9vLmxpbmUoKSkKYGBgCg==