你好
有以下问题,请协助,谢谢
计划通过循环显示10条粉线,但实际仅显示最后一个循环的粉线,其他不显示,不知道什么原因
代码如下:
FX1:= 4000 ;//例:4000
FX0:= 3000 ;//例:3000
FFD := FX1 - FX0;
variable:ratio[10] = 0;
ratio[1] := 0;
ratio[2] := 0.1;
ratio[3] := 0.2;
ratio[4] := 0.3;
ratio[5] := 0.4;
ratio[6] := 0.5;
ratio[7] := 0.6;
ratio[8] := 0.7;
ratio[9] := 0.8;
ratio[10] := 0.9;
variable:ratio[10] = 0;
for i = 1 to 10 do
begin
r := ratio[i];
fx[i] := FX0 + (FFD * r);
drawsl( islastbar, fx[i], 0, 35, 1, COLORMAGENTA, LINETHICK2);
end;
循环无法使得画线函数多次执行画线的。一条画线语句一条线,你这里其实只相当于一语句。
[此贴子已经被作者于2019/10/8 14:39:54编辑过]
明白了,也猜到了,就是想知道,如果画50条线,就是只能重复50行代码,是否有其他办法?谢谢
有个粗略思路,就是让画线函数在历史K上符合条件,避免只在一个K上符合条件,比如限制在倒数10个K上符合条件。只不过最后画出来的效果可能有偏差。具体到代码 就是判断当前K是倒数第几个K,然后和I进行比较,作为画线函数的条件。 你这里画线的一些值都是定值,这个思路应该可以,如果是变量的话,那可能就不符合需求了。
好主意,需要琢磨和尝试,但估计费劲,因为只要画线就是一组画线代码,无法重复利用画线代码