修改 ruleSignal 的 stoplimit 类型
modification for stoplimit type for ruleSignal
不知道有没有人可以帮我修改我的stoplimit(止损)规则。我怎样才能将其更改为以低于限价的收盘价卖出,而不是低于限价的低价卖出?
> #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)
我下载了源码,打开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])))
...
不知道有没有人可以帮我修改我的stoplimit(止损)规则。我怎样才能将其更改为以低于限价的收盘价卖出,而不是低于限价的低价卖出?
> #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)
我下载了源码,打开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])))
...