gpt4 book ai didi

r - quantstrat enable.rule 不起作用

转载 作者:行者123 更新时间:2023-12-05 01:01:47 24 4
gpt4 key购买 nike

当我使用 enable.rule我无法覆盖规则的内部 enabled=FALSE .

例如:

## Stop Loss Rule
stratstocky <- add.rule(stratstocky,
name = "ruleSignal",
arguments = list(sigcol = "sdH",
sigval = TRUE,
replace = FALSE,
orderside = "long",
ordertype = "stoptrailing",
tmult = TRUE,
threshold = quote(stopLossPercent),
orderqty = "all",
orderset = "ocolong"),
type = "chain",
parent = "getLong",
label = "StopTrailingLong",
enabled = FALSE
)

当我将此代码放在 applyStrategy 之前时:
enable.rule(stratstocky, type="chain", "StopTrail", enable=TRUE)

该规则将不会启用或处于事件状态。激活规则的唯一方法是将其内部启用更改为 TRUE .我尝试过精确拼写,但它对我不起作用。

这不是一个大问题,因为我可以参数化规则的内部启用并以这种方式控制它,但更喜欢使用现有代码来运行我的系统。

任何洞察 enable.rule问题?

最佳答案

您的示例不可重现,但我可以通过一些假设重现您的问题。

看来你搞混了 store=TRUEstore=FALSE
您的 add.rule调用似乎假设 store=FALSE ,然后你通过你的 stratstocky反对 enable.rule .

store=FALSE , enable.rule将返回策略对象。我相信在您的用例中,您可能想要:
stratstocky <- enable.rule(stratstocky, type="chain", "StopTrail", enable=TRUE)
使用现在启用的规则更新您的对象。

要创建可重现的示例,请尝试
demo('macross',ask=FALSE)
这将运行演示,并创建一些对象。就像我假设的例子一样,macross 演示使用 store=FALSE .

现在:
stratMACROSS <- enable.rule(stratMACROSS,type='exit',label='ruleSignal.rule',enable=FALSE)
将禁用退出规则,并且
stratMACROSS <- enable.rule(stratMACROSS,type='exit',label='ruleSignal.rule')
将再次启用它。

关于r - quantstrat enable.rule 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27627148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com