程序的问题出现在哪里 新评论 秋风踏浪 2010.01.01 19:30 自定义两个函数 double funEMAABS(int i) 和 double funEMA(int i),给出相同的 i 值,为什么两个函数返回值的绝对值总是相等(有时候只差一个正负符号)?请高手指教。两个自定义的函数如下: double funEMAABS(int i) //第一个函数 { MTMABS[i] = MathAbs(iClose(NULL,0,i)-iClose(NULL,0,i+1)); EMAABS1[i] = (6*MTMABS[i] +5*MTMABS[i+1] +4*MTMABS[i+2] +3*MTMABS[i+3] +2*MTMABS[i+4] +1*MTMABS[i+5])/21; return(EMAABS1[i]); } double funEMA(int i) //第二个函数 { MTM[i] = iClose(NULL,0,i)-iClose(NULL,0,i+1); EMA1[i] = (6*MTM[i] +5*MTM[i+1] +4*MTM[i+2] +3*MTM[i+3] +2*MTM[i+4] +1*MTM[i+5])/21; return(EMA1[i]); } 谢谢。 topea 2010.01.02 01:06 #1 MTMABS[i]和MTM[i]都是array不是函数 所以下面[i+n]当n>0的时候mtmabs和mtm都会返回0,n=0的时候才有值,所以只差一个符号 你把mtmabs和mtm做成函数,就ok了 秋风踏浪 2010.01.02 10:47 #2 一语中的,问题已经解决了。我自己曾经反复检查这两段代码,也没找到问题所在。多谢 topea 的指点。 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
自定义两个函数 double funEMAABS(int i) 和 double funEMA(int i),给出相同的 i 值,为什么两个函数返回值的绝对值总是相等(有时候只差一个正负符号)?请高手指教。两个自定义的函数如下:
谢谢。