请哪位大师帮忙看看这个公式在软件上为什么是一条直线

//------------------------------------------------------------------------// 简称: mk2// 名称: 测试mk2型-带信号// 类别: 公式应用// 类型: 用户应用// 输出: Void//------------------------------------------------------------------------Params //此处添加参数 Numeric d1(20); Numeric t1(120); Numeric ka(15); Numeric kb (45); Numeric kc(15); Numeric ja(9); Numeric jb(6); Numeric jc(3); Numeric pa(120); Numeric pb(120);Vars //此处添加变量 Numeric mac1; Numeric mac2; Numeric mac3; Numeric mac4; Numeric mac5; Numeric emac2; Numeric emac1; Numeric j1; Numeric j2; Numeric j3; Numeric j; Numeric k; Numeric k1; Numeric k2; Numeric k3; Numeric s; Numeric s1; Numeric s2; Numeric g; Numeric g1; Numeric g2; Numeric g3; Numeric g4; Numeric g5; Numeric h1; Numeric h2; Numeric l1; Numeric l2; Numeric p; Numeric p1; Numeric p2; // --- 策略变量 --- Numeric isShowArrow; Defs Events OnInit() { } OnBar(ArrayRef<Integer> indexs) { // --- 1. 绘制参考线 --- PlotNumeric("0",0,0,White); PlotNumeric("天",1,0,White); PlotNumeric("地",-1,0,White); // --- 2. 原有指标计算 (保持不变) --- mac1=Average(close,d1/2); mac2=Average(close,d1); mac3=Average(close,d1*2); mac4=Average(close,d1*3); mac5=Average(close,d1*6); emac1=average(abs(close-mac1),t1); emac2=Average(abs(close-mac2),t1); s1=(close*5-mac1-mac2-mac3-mac4-mac5)/emac2/5; s=Average(s1,d1); PlotNumeric("s",s,0,red); j1=(Close-lowest(low,9))/(Highest(high,9)-lowest(low,9)); j2=average(j1,6); j3=average(j2,3); j=(6*j2-4*j3-1)/3*5; PlotNumeric("j",j,0,Cyan); k1=average(close,ka)-Average(close,kb); k2=average(k1,kc); k3=average((close-mac1)/emac1,5); k=(k1-k2)/emac2+k3/2; PlotNumeric("k",k,0,Green); g1=(close-mac1)/average(abs(close-mac1),t1); g2=(close-mac2)/average(abs(close-mac2),t1); g3=(close-mac3)/average(abs(close-mac3),t1); g4=(close-mac4)/average(abs(close-mac4),t1); g5=(close-mac5)/average(abs(close-mac5),t1); g=Average(g1+g2+g3+g4+g5,5)/5; PlotNumeric("g",g,0,Yellow); h1=highest(close,pa); h2=average(h1,pb); l1=lowest(close,pa); l2=average(l1,pb); p1=((average(close,pa)-l2)/(h2-l2)-0.5)*2; p2=average(abs(p1),t1*2); p=p1/p2*2; PlotNumeric("p",p,0,Magenta); // --- 3. 信号逻辑 --- isShowArrow = 0; // 条件:k值大于1 且 拐头向下 If (k > 1 AND k < k) { isShowArrow = 1; } // --- 4. 绘制箭头 --- If (isShowArrow == 1) { // 在 k 线条的位置绘制绿色向下箭头 PlotString("ArrowDown", "↓", k, Green); } }

您好,指标要设置为副图。

回复:

回复:图表缩小后,会出现这种情况。估计是有无效值的情况,检查公式里是否有除数为0的情况。

回复:谢谢大师