跨周期引用macd值不真实的问题

我目前使用的策略的15分钟的K线及macd值进行开仓的策略,期间需要引用1小时macd的值来辅助操作。

1、我用的交易策略中加载了1小时数据作为data1.

2、公式编写时候,专门为1小时Macd定义了变量(和15分钟macd变量不一样):公式如下:

3、在K线中显示的数字却出入很大

综上所述,请求解决一下跨周期引用macd值不真实的问题。

跨周期如何引用日线级的MACD
跨周期引用数据
quant3关于跨周期引用的问题
跨周期取macd的值,取出来的值是错误的
跨周期引用数据时的问题
跨周期引用数据
MACD跨周期显示
请教跨周期引用方法
跨周期获取MACD的DEA数据为0.
关于跨周期引用大周期数据问题请教

粗看上去左边被赋值的 和 函数调用都不是data1的

使用range是最方便的

看下系统MACD,用的时候直接  data1.MACDValue

Params
    Numeric FastLength(12);
    Numeric SlowLength(26);
    Numeric MACDLength(9);
Vars
    Numeric MACDDiff; 
    Numeric AvgMACD;
    Numeric MACDValue;
Events
    OnReady()
    {
        Range[0:DataSourceSize() - 1]
        {
            setPlotOption("MACDDiff", "begin-bar", SlowLength);
            setPlotOption("MACDDEA", "begin-bar", SlowLength + MACDLength);
            setPlotOption("MACD", "begin-bar", SlowLength + MACDLength);
        }
    }
    OnBar(ArrayRef<Integer> indexs)
    {
        Range[0:DataSourceSize() - 1]
        {
            MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;    
            AvgMACD = XAverage(MACDDiff,MACDLength);
            MACDValue = 2 * (MACDDiff - AvgMACD);
            PlotNumeric("MACDDiff",MACDDiff);
            PlotNumeric("MACDDEA",AvgMACD);
            If (MACDValue >= 0)     
                PlotAuto("MACD",MACDValue,0,Color9(),Enum_Bar); 
            Else
                PlotAuto("MACD",MACDValue,0,Color10(),Enum_Bar); 
            PlotNumeric("零线",0);      
        }
    }


资源里面有一个四周代码

你可以对照这个课程看看 ,为什么要这么写,而不是你的写法

https://video.tbquant.net/video?id=video431


代码获取方式: https://bbs.tbquant.net/thread/20250520145838257913

👍

谢谢哈,已经解决了。@左手TBQ右手智大领峰@QL苟日新的用户