Quantstrat:在下一个酒吧出售(定制)

时间:2016-02-16 20:28:16

标签: trading algorithmic-trading quantstrat

我正在修改quantstrat中与stop-limits相关的内置函数。我想测试一个只在收盘价低于止损限价时卖出的系统。我能够更改比较数据,以便在close < stoplimit时出售。

然而,销售交易发生在收盘触发销售的同一天。这是我正在努力解决的问题。

如何更改此代码以在第二天销售?

 if(orderType == 'stoplimit')
                         txnprice <- min(orderPrice, Op(mktdataTimestamp)[,1])
                     else
                         txnprice <- orderPrice
                     txntime = timestamp

2 个答案:

答案 0 :(得分:0)

这是我用来控制订单价格的代码:

txnprice = try(getPrice(x=mktdata[curIndex+1L], prefer=prefer)[,1])

+ 1L在getPrice作用于curIndex之前一天添加。这很好,因为它也更喜欢。

我还没弄明白如何将txntime改为下一个交易日。我可以延迟一天:

txntime = timestamp+1

答案 1 :(得分:0)

Ilya Kipnis的消息:

ordertype参数是订单类型。到目前为止,对于大多数演示,我大多使用“市场”型订单,这是最简单的。市场订单在收到信号后在下一个柱执行。它们不是在信号条上执行,而是在信号条之后的条上执行。在每日数据上,这可能会由于缺口而导致一些盈亏,但在日内数据上,下一个柱线的开盘价应与当前柱线的收盘价非常相似。需要注意的一件事是,使用每月数据时,quantstrat使用当前柱执行。