Quantstrat add.rule参数:orderqty vs tradeSize vs 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,或者如果使用退出类型订单,则使用“全部”平仓 这

我在Quantstrat文档中找不到add.rule参数的定义。我想知道orderqtytradeSizemaxSize之间的区别

在上找到以下相关材料:

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