3

我正在应用与 luxor-demo 中类似的 add.distribution 规则,而我的策略只有一个多头头寸。

整个策略有效,但是在应用参数集时出现以下错误:

TakeProfitLONG 47 0.047

TakeProfitLONG 47 0.047 计算表达式的结果:

param.combo[[param.label]] 中的 simpleError:下标越界

得到任务 47 的结果 numValues: 47, numResults: 47, 停止: FALSE 返回状态 FALSE 评估 # 48: $param.combo

我正在尝试根据简单的获利规则运行分配(从 stopLoss 或 trailingStop 获得相同的结果):

.use.takeProfit = TRUE
.takeprofit <- 2.0/100 # actual
.TakeProfit = seq(0.1, 4.8, length.out=48)/100 # parameter set for optimization

## take-profit
add.rule(strategy.st, name = 'ruleSignal',
         arguments=list(sigcol='signal.gt.zero' , sigval=TRUE,
                        replace=FALSE,
                        orderside='long',
                        ordertype='limit', 
                        tmult=TRUE, 
                        threshold=quote(.takeprofit),
                        TxnFees=.txnfees,
                        orderqty='all',
                        orderset='ocolong'
         ),
         type='chain', 
         parent='EnterLONG',
         label='TakeProfitLONG',
         enabled=.use.takeProfit
)

我添加分布如下:

add.distribution(strategy.st,
                 paramset.label = 'TakeProfit',
                 component.type = 'chain',
                 component.label = 'TakeProfitLONG',
                 variable = list(threshold = .TakeProfit),
                 label = 'TakeProfitLONG'
)

并应用集合:

results <- apply.paramset(strategy.st, paramset.label='TakeProfit', portfolio.st=portfolio.st, account.st=account.st, nsamples=.nsamples, verbose=TRUE)

从我有限的调试来看,参数集似乎是一个简单的向量,而在 apply.paramset 中,以下函数失败:

results <- fe %dopar% { ... }

在这里,我对 R 太陌生了,因为我只研究了 4 周,但可能会调用:

install.param.combo <- function(strategy, param.combo, paramset.label)

可能导致错误?

必须像我一样向新人道歉,但是有没有人遇到过这种情况或者可以帮助如何将分布应用于仅长期策略中的一个项目?

提前谢谢了!

编辑 1: SessionInfo()

R version 3.1.2 (2014-10-31)
Platform: i486-pc-linux-gnu (32-bit)

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] lattice_0.20-29               iterators_1.0.7               downloader_0.3
 [4] quantstrat_0.9.1665           foreach_1.4.2                 blotter_0.9.1644
 [7] PerformanceAnalytics_1.4.3574 FinancialInstrument_1.2.0     quantmod_0.4-3
[11] TTR_0.22-0.1                  xts_0.9-7                     zoo_1.7-12

loaded via a namespace (and not attached):
[1] codetools_0.2-9 compiler_3.1.2  digest_0.6.7    grid_3.1.2      tools_3.1.2 
4

1 回答 1

1

这是与#5776相同的错误。它已针对“信号”组件类型进行了修复,但不适用于“链”。它现在应该在 R-Forge 上的修订版 1669 中得到修复。

于 2015-01-13T23:05:29.287 回答