跨周期取macd的值,取出来的值是错误的

OnInit()

   {

       SubscribeBar(Symbol,"30m",BeginDateTime);    //自动订阅3mins

     

   }

OnBar(ArrayRef<Integer> indexs)

{

MACDDiff2 = XAverage(Data[1].Close, 10 ) - XAverage( Data[1].Close, 26 ) ;

AvgMACD2 = XAverage(MACDDiff2,9);

MACDValue2 = 2 * (MACDDiff2 - AvgMACD2);

      Commentary("MACD30=="+Text(MACDValue2));  

这个跨周期出来的MACDValue值在5分钟图表上看不对,在30分钟图表上看是对的,请问如何处理

BOLL跨周期跨天数的指标值如何取?
取历史某根k的值
跨周期获取MACD的DEA数据为0.
如何取画线的值
请问老师哪个函数是:取满足条件A>B时X的值?
公式应用的时候,如何取MA5均线中,最新一个周期的均线值和临近的前一周期的均线值?
关于取最大值
小白请假怎么计算N天前的macd的值
请问下MACD值怎么回溯?
跨周期如何引用日线级的MACD

1.你这个代码不全

2.代码有一个订阅,部分基于data1的计算

MACDDiff2 你没带前缀那自然是赋值到了data0上的MACDDiff2

你必须根据需要准确的赋值

data0.MACDDiff2     data1.MACDDiff2 是不同的

Data[1].MACDDiff2 = XAverage(Data[1].Close, 10 ) - XAverage( Data[1].Close, 26 ) ;

Data[1].AvgMACD2 = XAverage(Data[1].MACDDiff2,9);

Data[1].MACDValue2 = 2 * (Data[1].MACDDiff2 - Data[1].AvgMACD2);

      Commentary("MACD30=="+Text(Data[1].MACDValue2));这样写也是一样的,值 也是不对


在vars 中定义了变量

Numeric MACDDiff2;

Numeric AvgMACD2;

Numeric MACDValue2;

range[0:datasourcesize-1]

{

MACDDiff2 = XAverage(Close, 10 ) - XAverage( Close, 26 ) ;

AvgMACD2 = XAverage(MACDDiff2,9);

MACDValue2 = 2 * (MACDDiff2 - AvgMACD2);

Commentary("MACD=="+Text(MACDValue2));  

}

你试试这样是不是对的呢

这样在range[0:0]和range[1:1]间无法传值

你这样算的不是MACD

这个显然是对的

range[1:datasourcesize-1]


{


MACDDiff2 = XAverage(Close, 10 ) - XAverage( Close, 26 ) ;


AvgMACD2 = XAverage(MACDDiff2,9);


MACDValue2 = 2 * (MACDDiff2 - AvgMACD2);


Commentary("MACD30=="+Text(MACDValue2));  


}

Commentary("MACD30=="+Text(MACDValue2));

range1表示对图层1操作了,你图层0没有操作

所以第一个commentery在图层1,你在图层0当然看不到

然后第二个commentery输出在图层0,但你又没有计算图层0的值,所以是0


请问如何在图层0读取到图层1的macdvalue值

请问大佬如何在图层0读取到图层1的macdvalue值

来来来,零基础课程里面

https://www.bilibili.com/video/BV1rN4y1X7sC?spm_id_from=333.788.videopod.sections&vd_source=0f5409c4d9c360588dbae5f07a75e860

特别讲了容易踩的坑