很简单的小程序,变量顺延传递中出现问题,不知原因何在??
我建议你先把零基础课程看一下
你似乎对全局变量 序列变量怎么传递值得特性还不是很明确
这个结果是符合你定义得全局变量得特性得的
关于global series类型 在零基础课程里关于数据结构的内容里有详细解释
请老师您 直接告诉我,为什么在那一天H1和H2的值会发生变化?谢谢
是因为我设置它们为全局变量的原因吗?我想应该不是的,那么是什么原因呢?
也可能是系统性能不稳定,所以请老师先确认:程序在你电脑上执行的结果是否与我提供的截图一致
因为又多了一根K线(今天),所以变量的变异又向后推迟了一天。难道变量传递到时间(K线数量)的 影响?
你也好玩的
你自己重新新建一个公式应用,把你发的代码复制进去 ,看值变没变
浪费时间
我已经讲过了,变异又推迟一天了。
希望老师诲人不倦🙏
难道变量传递受到时间(K线数量)的 影响?
首先第一,代码没有任何注释,你也没有任何代码业务逻辑说明,我得猜你想做什么。问问题不要这么问,该有的说明应该详细描述,否则就不是在提问题了。
第二,你给的代码根本就复现不出来问题
23号24号哪里不一样了?
现在的问题是24号和25号的值不一样了
是吗?哪里不一样
请帮我看一个小程序
很简单但是出错了,我怀疑是系统问题
//------------------------------------------------------------------------
// 简称: HHLL
// 名称: 双高双低
// 指标用途: 寻找最高点MM和次高点AA
//------------------------------------------------------------------------
Params
Vars
Global Numeric H1(0);//最高点
Global Numeric H2(0);//次高点
Series<Numeric> NO;//高点编号
Bool MM(False);//最高点标识
Bool AA(False);//次高点标识
Events
OnBar(ArrayRef<Integer> indexs)
{
Range[0:DataSourceSize() - 1]
{
//寻找最高点
commentary("BAR="+TEXT(CurrentBar));
commentary("最高价/前="+TEXT(H1));
commentary("次高价/前="+TEXT(H2));
If(CurrentBar ==1)
{
H1=H;
H2=0;
}
IF (CurrentBar>1)
{
IF (H>H1)//最高点更新
{
MM=TRUE;
H2=H1;//继承旧H1
H1=H; //再更新H1
}
ELSE IF (H>=H2 AND H<H1)//次高点更新
{
AA=TRUE;
H2=H;
}
}
commentary("最高价/后="+TEXT(H1));
commentary("次高价/后="+TEXT(H2));
IF (MM OR AA)
PlotAuto("双高",H,0,Rgb(255,255,255),-1,-1,Enum_2Pix,1);
IF (MM)
PlotString("M", "M",H*1.02,YELLOW);
IF (AA)
PlotString("A", "A",H*1.01,BLUE);
}
}
下图是20250424指标应用截图
下图是20250425指标应用截图
20250425的数值(H1、H2)为什么发生改变呢?
不应该是继承前一天的吗?