需要在只打开一个周期的K线图层时,显示其他周期的指标数据线。
如1:当只打开5分钟周期K线图层时,在5分钟周期K线显示60分钟周期10均线,该如何实现?
如2:当只打开5分钟周期K线图层时,在5分钟周期K线显示60分钟周期10均线及日线周期10均线,该如何实现?
看了很多视频及论坛回贴,都是要同时打开多个周期的图层方式来实现的。这种方式不能满足我的需求,望有老师帮忙解答,谢谢了
你的问题是什么?
Vars
Plot pltX;
Series<Numeric> MAd10;
Series<Numeric> MA60min10;
Series<Numeric> ma5min10;
Events
//需要在只打开一个周期的K线图层时,显示其他周期的指标数据线。首先基础周期,定为日线,也就是Data0,是日线,也就是用这个策略的时候周期选到日线,如果取消指标按回车两次或者K线图表设置里勾选data0
OnInit()
{
SubscribeBar(Symbol, "60m", BeginDateTime);//订阅data1为60分钟
SubscribeBar(Symbol, "5m", BeginDateTime);//订阅data2为5分钟
// data0.Hide;//不想看就给它屏蔽,当只打开5分钟周期K线图层时懂了嘛只显示五分钟bar
//Data1.Hide;
}
OnReady()
{
}
OnBar(ArrayRef<Integer> indexs)
{
//MAd10 = Average(C, 10); 写这里也行,写哪里都行,用的时候都要加上哪个周期的Data 0123,
Range[0:0]//图层0也就是日线
{
MAd10 = Average(C, 10);
}
Range[1:1]//图层1是60分钟
{
MA60min10 = Average(C, 10); //注意, C,其实是Data0.C 但是因为写在图层0上也就是日线的收盘价
}
Range[2:2]//图层2是五分钟
{
ma5min10 = Average(C, 10);
pltX.line("日1线10", data0.MAd10);//这里特别注意,不管是哪个图层,都要加上哪个周期的Data 0123
pltX.line("日2线10", Average(Data0.C, 20));//或者直接这么写,就不用定义变量再赋值了,
pltX.line("min60x10", data1.MA60min10);
pltX.line("min5x10", ma5min10);
}
}
有hide
hidekline等隐藏函数
我不知道如何使用,这两个函数有使用说明吗?
看这函数的名称,应该是隐藏线条的意思吧。软件是不是没有我想要的单图层引用其他周期数据的功能?
你可以从原理思考, 单图层能引用其他周期, 那一定意味着,其他周期的数据需要被订阅,一但订阅就不是单图层了;
或者,数据本身是在服务器端, 但当前软件不支持这种模式
我的最终目标是:在行情列表中用指标值作为字段,但这个指标值是跨周期计算得出来的。但在行情列表中好像根本实现不了多图层。
有的软件不涉及图层的概念,就是直接一个内置系统函数获取不同周期的数据就可以了。感觉那样会更直接有效
以前试过hide 和show
图表一直闪烁
感觉死循环了
一般是啥情况
可以的啊,在行情报价中你需要用0图层调用其他图层数据输出就行了