gpt4 book ai didi

R - quantstrat 订单相互取消

转载 作者:行者123 更新时间:2023-12-04 23:27:25 24 4
gpt4 key购买 nike

如何在 quantstrat 中输入相互抵消的订单?例如,一旦我进入交易,我立即打开两个订单:“止损”和“止盈”。一旦一个被填满,另一个将被取消。

#Enter signal 

strategy <- add.rule(strategy, name="ruleSignal",
arguments=list(sigcol="EnterBuy", sigval=TRUE, orderqty=100,
ordertype="market", orderside="long",
pricemethod="market", osFUN=osMaxPos),
type="enter", path.dep=TRUE)

#Stop loss

strategy <- add.rule(strategy, name="ruleSignal",
arguments=list(sigcol="EnterBuy", sigval=TRUE,
orderqty="all", ordertype="stoplimit",
orderside="short", threshold=-5,
tmult=FALSE),
type="exit", path.dep=TRUE)

#Take profit

strategy <- add.rule(strategy, name="ruleSignal",
arguments=list(sigcol="EnterBuy", sigval=TRUE,
orderqty="all", ordertype="stoplimit",
orderside="short", threshold=5,
tmult=FALSE),
type="exit", path.dep=TRUE)

目前,他们正在独立工作。

最佳答案

SVN r 1010 为 quantstrat 添加了代码,以便更容易使用 OCO(One Cancels Other)订单集。 'macd' 演示中有一个示例 here它使用新公开的 orderset 参数为退出订单提供 OCO 功能。

您需要使用当前的 svn(r1010 或更高版本)才能使用此功能。我还要注意的是,订单大小调整功能现在有点损坏,我们正在努力解决。

您的示例,要使用订单集,看起来像这样:

#Enter signal 

strategy <- add.rule(strategy, name="ruleSignal",
arguments=list(sigcol="EnterBuy", sigval=TRUE, orderqty=100,
ordertype="market", orderside="long",
pricemethod="market", osFUN=osMaxPos),
type="enter", path.dep=TRUE)

#Stop loss

strategy <- add.rule(strategy, name="ruleSignal",
arguments=list(sigcol="EnterBuy", sigval=TRUE,
orderqty="all", ordertype="stoplimit",
orderside="long", threshold=-5,
tmult=FALSE, orderset='altexits'),
type="exit", path.dep=TRUE)

#Take profit

strategy <- add.rule(strategy, name="ruleSignal",
arguments=list(sigcol="EnterBuy", sigval=TRUE,
orderqty="all", ordertype="stoplimit",
orderside="long", threshold=5,
tmult=FALSE, orderset='altexits'),
type="exit", path.dep=TRUE)

注意将 orderset='altexits' 参数添加到 的参数列表中。规则信号 .

关于R - quantstrat 订单相互取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10445936/

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