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个图层驱动,有几个元素就是几个图层在驱动。
具体看一下零基础课程里关于行情驱动域的说明