有关策略交易订阅Bar起始时间的设置问题

我的交易策略买入条件里必须满足“MarketPosition == 0”,在设置Bar起始时间时,若设置的时间比较前就出现如下图白圈的信号,这个信号还没有出现对应的平仓信号,此时MarketPosition 会不会不等于零,而影响我策略首次买入?

若我设置的起始时间比较近,即设置在白圈的时间之后,此时订阅的Bar的数量又小于我交易条件所用到的bar的数量,也影响我策略的首次买入?

大概有几种办法来平衡这个矛盾点?或者有没有什么办法直接在用户端删除/忽略白圈的信号点?


SetBeginBarMaxCount中设置最大起始bar数这个怎么理解
起始bar数和回溯bar数
策略研究单元设置的开始时间与运行时的不一致
订阅数据,时间对齐
请教跨周期订阅中的周期设置问题
简语言回测起始时间
请教多品种、不同起始时间组合策略的净值计算逻辑
策略交易设置问题
一个问题,参数优化能不能设置一个时间段内的,我看参数优化设置里只有起始没有止日期的
简语言版本中的布林策略交易属性设置

我看你在一个问题上纠结这么久

所有策略都应该基于实盘化

而非回溯的方式


MarketPosition是净持仓

简单的假定一个场景

如果有多单

当前bar出了空信号


在没有设置双向交易的情况下

图表函数会平了多单开空单

虚拟账户是成了

账户怎么办?


在设置双向交易的情况下

多空都有且相同数量仓位

MarketPosition一直等于0

账户怎么办?


看到MarketPosition

就想问你

策略跑过账户吗?

模拟盘也算


这个默认的玩意

除了回溯

有啥意义?


补充个疑问,MarketPosition是检索策略对应的实盘账户的持仓量来赋值,还是检索策略交易运行时的信号点(这个信号点含启动时间前的Bar信号点么?)来赋值?

图表只看图表上的内容,跟你实际账户无关

嗯,这点清楚了。

那MarketPosition这个信号点含启动时间前的Bar信号点么?比如我6-23日13:30在交易端口启动策略交易,启动交易时发现6-23日10:50在K线上有一个买入信号了,此事我策略代码里的MarketPosition==1还是0?

我的策略代码里需要用到交易图表的信号点,有哪些办法只取我启动交易时间后的信号点么?即忽略我启动交易时间前的信号点。

IsStartBar-是否为启动时间点

OnInit或OnReady域记录系统时间

买卖信号触发前加上这个条件