日线可以订阅指数成交量,
直接看却可以看
1分钟周期,订阅不了指数1分钟成交量,返回的是全天的
这是嘛情况
指标如下,请测试
Vars
Plot plt_vol;
Plot plt_OpenInt;
Defs
//此处添加策略函数
string zs()
{
if (Len(SymbolType) == 1) // 判断是否为单个字母
{
return SymbolType + "9000" + "." + ExchangeCode; // 单个字母加9000
}
else
{
return SymbolType + "000" + "." + ExchangeCode; // 多个字母加000
}
}
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
OnInit()
{
Print(zs);
SubscribeBar(zs, "1d", 1000, 0);
data1.Hide();
}
OnBar(ArrayRef<Integer> indexs)
{
plt_vol.figure(0);
plt_OpenInt.figure(0);
plt_OpenInt.subplot(plt_vol);
plt_vol.setOption("stretch-height", 0.4);
plt_vol.setOption("Vol", "x-format", "time");
plt_OpenInt.setOption("y-precision", 0);
plt_OpenInt.setOption("持仓市值", "color", Red);
plt_OpenInt.setOption("持仓市值", "margin-top", "100%");
plt_OpenInt.setOption("持仓市值", "margin-bottom", "50%");
If(C > O)
{
plt_vol.setOption("Vol", "color", Rgb(255, 88, 88)); //设置颜色属性
plt_vol.setOption("Vol", "style", Enum_Fill); //
plt_vol.setOption("Volzs", "color", Rgb(255, 88, 88)); //设置颜色属性
}
Else
{
plt_vol.setOption("Vol", "color", Rgb(0, 255, 255)); //设置颜色属性
plt_vol.setOption("Vol", "style", Enum_Fill); //设置柱状图风格为填充
plt_vol.setOption("Volzs", "color", Rgb(0, 255, 255)); //设置颜色属性
}
plt_vol.barv("Vol", Vol * ContractUnit * C);
plt_vol.barv("Volzs", Data1.Vol * ContractUnit * Data1.C);
plt_OpenInt.line("指数持仓市值", Data1.OpenInt * ContractUnit * Data1.C);
plt_OpenInt.line("持仓市值", OpenInt * ContractUnit * C);
}
因为你订阅的是日线的指数数据啊,这怎么取分钟数据?
你要分钟数据你订阅分钟啊
data0如果是1分钟
把你输出这段 ,改成直接能跟k线显示数据对照的数据看
能对上,没有任何问题
//plt_vol.barv("Vol-1M", Vol * ContractUnit * C);
//plt_vol.barv("Volzs", Data1.Vol * ContractUnit * Data1.C);
//plt_OpenInt.line("指数持仓市值", Data1.OpenInt * ContractUnit * Data1.C);
//plt_OpenInt.line("持仓市值-1M", OpenInt * ContractUnit * C);
plt_vol.barv("Vol-1M", Vol);
plt_OpenInt.line("持仓市值-1M", OpenInt);
plt_vol.barv("Volzs", Data1.Vol);
plt_OpenInt.line("指数持仓市值", Data1.OpenInt );
盲猜是图层的问题
你的data1是日线?那你data0是什么周期?