R Quantstrat:如何自动确定订单的冲销额?

时间:2018-11-02 20:03:34

标签: r quantstrat

使用osMaxPos无法正确确定订单大小。我希望如果我的当前头寸为+1,则在发出正确信号后,将以qty == -2的价格提交卖出限价单,以将我的头寸一直反转到最低点设置。但是,它只会提交数量== -1的订单,即使它稍后会提交另一个空头订单来将我的职位提高到-1。

有没有一种方法可以确保我的订单完全反转我的头寸,而不是在反转之前平仓?

addPosLimit(portfolio.st, symbol, startDate, maxpos=1,minpos = -1)
add.rule(strategy.st, name="ruleSignal",
         arguments=list(sigcol="signal.ind",
                        sigval=1,
                        ordertype="limit",
                        orderside="long",
                        order.price=quote(mktdata$dn.ind[timestamp]),
                        replace=T,
                        osFUN = osMaxPos,
                        orderqty=2,
                        orderset="orders"),
         type="enter",
         label="Long")
add.rule(strategy.st, name="ruleSignal",
         arguments=list(sigcol="signal.ind",
                        sigval=-1,
                        ordertype="limit",
                        orderside="short",
                        order.price=quote(mktdata$up.ind[timestamp]),
                        replace=T,
                        osFUN = osMaxPos,
                        orderqty=-2,
                        orderset="orders"),
         type="enter",
         label="Short")

0 个答案:

没有答案