请教下,怎么在记录昨天的macd指标值





Params

   Numeric FastLength(12);

   Numeric SlowLength(26);

   Numeric MACDLength(9);

Vars

   Numeric MACDDiff;

   Numeric AvgMACD;

   Numeric MACDValue;

   Numeric YesterdayMACDValue; // 新增:存储昨日 MACD 值

   Numeric YesterdayMACDPercentage; // 新增:存储昨日 MACD/收盘价*100 的值

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]

       {

           // 计算当前 MACD 值

           MACDDiff = XAverage(Close, FastLength) - XAverage(Close, SlowLength);    

           AvgMACD = XAverage(MACDDiff, MACDLength);

           MACDValue = 2 * (MACDDiff - AvgMACD);

           

           // 获取昨日 MACD 值(通过索引 -1 访问前一根 K 线数据)

           If (BarStatus == 2) // 仅在历史数据计算时有效(实盘需调整逻辑)

           {

               YesterdayMACDValue = MACDValue[1]; // 昨日 MACD 值(前一根 K 线)

               If (Close[1] != 0) // 避免除数为零

               {

                   YesterdayMACDPercentage = YesterdayMACDValue / Close[1] * 100;

               }

               Else

               {

                   YesterdayMACDPercentage = 0; // 处理收盘价为零的异常情况

               }

               // 输出昨日数据(可根据需求改为绘图或存储)

               PlotAuto("昨日 MACD 值:" + Text(YesterdayMACDValue));

           }

           

           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);    

       }

   }

在TBL上如何实现某一指标值的转折?
获取指标值的写法对吗
求教怎么导出工作区全品种的指标值
888指数和000指数使用的困惑,请各位老师讲讲
请教下怎么写这个编程逻辑
怎么获取前一个macd 绿色区域内的最低价格
请问下MACD值怎么回溯?
在888指数工作区上获取指定合作的价格
怎么引用系统技术指标的指标值比如kdj指标的k、d、j值
昨天能运行,今天怎么没反应了

昨天?

日线还是非日线?

日线那不就是回溯一下就好了吗?

非日线,那昨日有很多个macd,你要记录哪个?

!!!定势思维了 脑子默认是日线了..... ...鸿沟般的差距

Numeric MACDValue;  改成序列变量  series<Numeric> MACDValue;

之后通过回溯 想取哪天取哪天

MACDValue[N] 表示N天前的MACDValue

基础课里啥都有