- 精华
- 0
- 在线时间
- 675 小时
- UID
- 110114
- 积分
- 380
- 帖子
- 314
- 阅读权限
- 50
- 注册时间
- 2012-4-20
- 最后登录
- 2021-12-29
- 精华
- 0
- UID
- 110114
- 积分
- 380
- 帖子
- 314
- 主题
- 16
- 阅读权限
- 50
- 注册时间
- 2012-4-20
- 最后登录
- 2021-12-29
|
这个可以实现,但不精确,原因是如果品种活跃,1).TB可能不会每笔交易都进行数据更新,2).你自己的程序跑完一遍如果用时较长,也有错失某笔交易信息的风险。
方法和我上次回你的另一个帖子相似,用全局变量记录当根K线的时间,如果当前时间与全局变量计的时间不同,开始记录当根K线的OpenInt最大值。只有实时进行的K线,才有这种不同的记录,其它的K线都只能用其收盘时的持仓量。可以将它记录在一个序列变量里,来回溯前期K线,只要不更新图表或退出程序,数据都应该保留在MyOI里。
NumericSeries MyOI;
// 用全局变量0记录当前K线时间,1记录当前K线OpenInt的最大值
If(Time <> GetGlobalVar(0))
{
SetGlobalVar(0, Time);
SetGlobalVar(1, OpenInt);
}
Else If(OpenInt > GetGlobalVar(1))
{
SetGlobalVar(1, OpenInt);
}
MyOI = GetGlobalVar(1);
|
|