我想知道是否有人可以帮我修改我的限制(止损)规则。如何将其更改为以低于限价的价格出售,而不是低于限价以下?
> #rules add.rule(strategy.st, name="ruleSignal",
> arguments=list(sigcol="buyTrigger", sigval=TRUE, ordertype="market",
> orderside="long", replace=FALSE, prefer="Open",
> osFUN=osDollarATR, tradeSize=tradeSize,
> pctATR=pctATR, atrMod="X"),
> type="enter", path.dep=TRUE,
> label="newEntry")
>
add.rule(strategy.st, name="ruleSignal",
arguments=list(sigcol="buyTrigger",
sigval=FALSE,
ordertype="stoplimit",
orderside="long",
replace=FALSE,
orderqty='all',
order.price=quote(mktdata$loss.stopLimit[timestamp]),
orderset="orders"),
type="chain",
parent="newEntry",
label="takeProfitLong",
path.dep=TRUE)
答案 0 :(得分:0)
我下载了源代码并打开了tar.gz文件夹来修改ruleOrderProc.R。
卸载并重新安装软件包。经过几次尝试,我能够将代码修改为:
if ((orderQty > 0 && orderType != "stoplimit") ||
(orderQty < 0 && (orderType == "stoplimit"))) {
if ((has.Cl(mktdata) && orderPrice > as.numeric(Cl(mktdataTimestamp)[,
1])) || (!has.Cl(mktdata) && orderPrice >
as.numeric(getPrice(mktdataTimestamp, prefer = prefer)[,
1])))
...