我的交易策略买入条件里必须满足“MarketPosition == 0”,在设置Bar起始时间时,若设置的时间比较前就出现如下图白圈的信号,这个信号还没有出现对应的平仓信号,此时MarketPosition 会不会不等于零,而影响我策略首次买入?
若我设置的起始时间比较近,即设置在白圈的时间之后,此时订阅的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域记录系统时间
买卖信号触发前加上这个条件