如何在OnBarOpen中计算两种周期的ma指标值,并在订阅的两组行情图上画图。

Params Vars Global Integer barA(0); Global Integer barB(0); Events OnInit() { //订阅bar barA = SubscribeBar(Symbol,"1m"); print("订阅周期A :" + Text(barA) + " ->" + "1分钟"); barB = SubscribeBar(Symbol,"5m"); print("订阅周期B :" + Text(barB) + " ->" + "5分钟"); } OnBarOpen(ArrayRef<Integer> indexs) { Numeric ma1min(0); Numeric ma5min(0); //如何在这里计算两个不同周期的MA值 //这个计算1分钟的,在barA上画图 ma1min = AverageFC(Close,9); //这个计算5分钟的,在barB上画图 ma5min = AverageFC(Close,9); } OnBar(ArrayRef<Integer> indexs) { } //成交更新事件函数,参数ordFill表示更新的成交结构体 OnFill(FillRef ordFill) { Print("-----> 成交:" + Text(ordFill)); PlotString("tip", "成交", Close, Green); }就像上面的代码,AverageFC(Close,9)的参数1只能填入close,我想计算5分钟的close和1分钟的close在oninit里订阅的两组行情分别返回 barA、barB,我想在指定图层上画图,该如何做呢?

plotstring作图plotstring等效于data0.plotstring 在图层1上画图data1.plotstring 在图层2上作图以此类推

回复:好的,多谢

补充一下:在OnBarOpen中我如何分辨是1分钟的还是5分钟的消息过来。

回复:驱动参数indexes里的元素表明是第n个图层驱动,有几个元素就是几个图层在驱动。具体看一下零基础课程里关于行情驱动域的说明