Quantstrat add.rule参数:orderqty vs tradeSize vs maxSize
我在Quantstrat文档中找不到add.rule参数的定义。我想知道orderqty、tradeSize和maxSize之间的区别 在上找到以下相关材料:Quantstrat add.rule参数:orderqty vs tradeSize vs maxSize,r,quantstrat,R,Quantstrat,我在Quantstrat文档中找不到add.rule参数的定义。我想知道orderqty、tradeSize和maxSize之间的区别 在上找到以下相关材料: orderqty参数仅在未指定osFUN时适用。它可以取一个平坦值(例如1、2),或者,当规则类型为“退出”时,取一个“全部”的数量,以平坦一个位置 osFUN指定要使用的订单大小调整功能。osFUN参数实际上是作为参数传入的函数对象。如果您不希望使用osFUN,只需使用固定数量,如100,或者如果使用退出类型订单,则使用“全部”平仓 这
orderqty
参数仅在未指定osFUN
时适用。它可以取一个平坦值(例如1、2),或者,当规则类型为“退出”时,取一个“全部”的数量,以平坦一个位置
osFUN
指定要使用的订单大小调整功能。osFUN
参数实际上是作为参数传入的函数对象。如果您不希望使用osFUN
,只需使用固定数量,如100,或者如果使用退出类型订单,则使用“全部”平仓
这就是add.rule
函数的外观:
add.rule(strategy.st, name = "ruleSignal",
arguments = list(sigcol = "longsig",
sigval = TRUE,
ordertype = "market",
prefer = "Open",
orderside = "long",
orderqty = 100,
replace = FALSE,
osFUN = osMaxPos,
tradeSize = 100,
maxSize = 100),
type = "enter")
谢谢。我刚读完那篇博客,看到了这个问题。我会尽我最大的努力 根据他的笔记<代码>订单数量是主要参数。我没有看到他在规则中使用任何其他论点
希望这能回答你的问题。@blackknight316是正确的。查看
规则信号
(打印规则信号)的代码。您将看到,tradeSize
或maxSize
不存在正式参数
然而,ruleSignal
函数在调用时不会生成错误,因为它使用省略号参数(即…
)。阅读官方R语言文档中有关此特殊参数的信息
打印ruleSignal
并查看源代码。这是一部分:
orderqty <- osFUN(strategy = strategy, data = mktdata,
timestamp = timestamp, orderqty = orderqty, ordertype = ordertype,
orderside = orderside, portfolio = portfolio,
symbol = symbol, ... = ..., ruletype = ruletype,
orderprice = as.numeric(orderprice))
orderqty