r语言 - 按名称划分的 dropTA 特定指示器



无法弄清楚如何从 R quantmod 的 TA 列表中按名称删除指定的指标。

require("quantmod")
getSymbols("AAPL", src="yahoo", from = '2018-01-1', to = '2019-01-1')
#my custom indicator
AAPL_sma_50 <- SMA(
Cl(AAPL),
n = 50
)
candleChart(AAPL, up.col = "black", dn.col = "red", theme = "white")
addTA(AAPL_sma_50, on = 1, col = "blue")
addBBands()
listTA()

listTA()输出:

[

[1]] addVo((

[[2]] addTA(ta = AAPL_sma_50, on = 1, col = "blue"(

[[3]] addBBands((

我可以使用dropTA('addBBands')删除内置指标,但无法以相同的方式删除自定义指标:

dropTA('AAPL_sma_50')
Error in dropTA("AAPL_sma_50") : nothing to remove

dropTA(2( 也不起作用 - 它总是删除第一个元素

我如何仅删除第二个自定义,或者如何创建它,以便以后能够按名称删除 - 例如dropTA('myCustomIndicator')

有几个选项可以从绘图中删除 TA。诀窍是要知道,当你使用addTA(my_indicator)时,你不能使用dropTA(my_indicator)。因为您是通过addTA()添加的 TA,所以需要调用dropTA(ta = "addTA")

现在有几种可能性:

dropTA(all = TRUE) # removes all technical indicators
dropTA(ta = "addBBAnds") # removes the bolinger bands you added via addBBands()

如果使用 addTA 添加了一些自定义 TA,则可以指定要删除的版本(如果您现在订购(。

dropTA(ta = "addTA", occ = 2) # removes the second occurence of the TA you added
dropTA(ta = "addTA", all = TRUE) # removes all TA's added with addTA

当您在图表中使用了多个 addEMA 或 addSMA 指标时,这很有用。

EMA 指标示例:

library(quantmod)
getSymbols("AAPL", src="yahoo", from = '2018-01-1', to = '2019-01-1')
candleChart(AAPL, up.col = "black", dn.col = "red", theme = "white")
addEMA(Cl(AAPL), n = 13, on = 1)
addEMA(Cl(AAPL), n = 21, on = 1)
addEMA(Cl(AAPL), n = 5, on = 1)
dropTA(ta = "addEMA", occ = 2) # removes the second occurence of the EMA's you added
dropTA(ta = "addEMA", all = TRUE) # removes all (other) EMA's added

最新更新