r - R中的布林带指标
问题描述
我目前正在尝试使用R
. 目标是在收盘价触及下轨时进入多头头寸,并在触及上轨时退出。为此,我首先编写了两个简单的函数用作指标:
BBandsDown <- function(HLC,n=20,maType,sd=2){
bbdown <- BBands(HLC,n,maType,sd)$dn
colnames(bbdown)<-"bbdown"
return(bbdown)
}
BBandsUp <- function(HLC,n=20,maType,sd=2){
bbup <- BBands(HLC,n,maType,sd)$up
colnames(bbup)<-"bbup"
return(bbup)
}
然后我添加了指标
add.indicator(strategy = strategy.st,
name = 'Cl',
arguments = list(x=quote(mktdata)),
label = 'close')
add.indicator(strategy = strategy.st,
name = 'BBandsDown',
arguments = list(HLC = quote(Cl(mktdata)), n=10,maType="SMA",sd=1.5),
label = 'bbandsdown1.5')
add.indicator(strategy = strategy.st,
name = 'BBandsUp',
arguments = list(HLC = quote(Cl(mktdata)), n=10,maType="SMA",sd=1.5),
label = 'bbandsup1.5')
然后我定义信号和规则。我的问题是我无法使用该applyStrategy
命令,因为它会回复。
Error in BBands(HLC, n, maType, sd) (from strategy_bbands.r!15334IYx#2) :
Price series must be either High-Low-Close, or Close/univariate.
我都试过了HLC = quote(Cl(mktdata))
,HLC = quote(HLC(mktdata))
但错误是一样的。我究竟做错了什么?
解决方案
您没有提供可重现的示例。
错误很明显,您传入了错误的数据。
我怀疑您在调用之前已经破坏了数据applyStrategy
,但是这里没有足够的数据来验证这一点。
有关工作示例,请参见bbands.R
demos 目录中的演示。
推荐阅读
- pandas - 用于基因组学的 Python 中的嵌套结构和大数据处理(Dask.Bags vs PySpark vs 替代方案?)
- java - 在 domain.com/robots.txt 中显示 robots.txt 文件,而不是在 Spring Java Web 应用程序中的 domain.com/context/robots.txt
- javafx - fxml 文件中的更改不可见
- reactjs - 如何使用反冲为自定义钩子编写测试代码
- c# - 根据用户语言将嵌套的 JSON 数据渲染到剃须刀页面(asp.net 核心剃须刀页面)
- python - 为什么这个变量不是全局的(不能在函数中使用)?
- javascript - 如何让加载画面消失?html css js
- c++ - 将 cout 输出推迟到下一个输出之前
- r - 手动对数似然和 logLike 函数之间的区别
- node.js - Express 路由控制器内联工作但不导出 - PassportJS