可能除0.
试试:
MathAbs(Close[i+1]-Close[i+2]); 改为 (MathAbs(Close[i+1]-Close[i+2])+Point);
你是要计算斜率吗?这样计算就不对了,(Close[i]-Close[i+1])/MathAbs(Close[i+1]-Close[i+2])是个变量,不固定的,不知道你这个式子要表达什么意思,所以我也不好给你更好的建议。
可能除0.
试试:
MathAbs(Close[i+1]-Close[i+2]); 改为 (MathAbs(Close[i+1]-Close[i+2])+Point);
"+Point"起什么作用呢?(如果问得小白了请见谅 我基础薄弱)
另外,好像没有起作用,出现'+Point' - variable not defined”的错误。 是要现在前面定义么,还是怎样?
你是要计算斜率吗?这样计算就不对了,(Close[i]-Close[i+1])/MathAbs(Close[i+1]-Close[i+2])是个变量,不固定的,不知道你这个式子要表达什么意思,所以我也不好给你更好的建议。
目标是想得到目标柱的价格变动大小(分正负)与前一柱的价格变动大小(取绝对值)的比,以此来突出初始突破柱。
我试出除号后只有一个"Close[x]"时正常,有一个以上时就出问题,这是引起了什么样的逻辑错误?
可能除0.
试试:
MathAbs(Close[i+1]-Close[i+2]); 改为 (MathAbs(Close[i+1]-Close[i+2])+Point);
哇 成功了! 谢谢你!
之前的错误是因为直接复制的你的回复中的"+"是全角字符。
可以给我讲讲其中的道理么! 为什么加Point就好了?
如果Close[i+1] = Close[i+2], MathAbs(Close[i+1]-Close[i+2]) 就等于0, 那么除0就引起程序出错!
Point是当前货币一个点(pip)的值, 这样保证价格变动绝对大小最小是point, 就可以保证不再有碰到价格不变时的除0错。
=(Close[i]-Close[i+1])/MathAbs(Close[i+1]-Close[i+2]); 只能得到十几个值
=(Close[i]-Close[i+1])/(Close[i+1]-Close[i+2]); 也一样
为什么无法正常运算得到更多值?
正确的式子应该怎么写?
请高手赐教