tonny:
我从来没有遇到过堆栈溢出,从我所读到的内容来看,它们通常是由递归引起的,但我在你发布的代码中没有看到这一点 ...... 为什么你的函数类型是int? 当你不使用它时,传递变量double zoom有什么意义?什么原因导致mql4中的堆栈溢出错误?我怀疑是使用一个函数来创建对象。下面是已经被调用了一百多次来创建对象的函数。
下面是一个使用例子
我以正常的方式创建了其他相同数量的对象,没有得到这个错误,但是当我引入并使用这个函数来创建其余的对象时,错误就出现了。请看下面的例子,虽然它的对象数量更多,但却没有出现这个错误。
还有一件事,OBJPROP_XDISTANCE和OBJPROP_YDISTANCE 的值应该是int 而不是double。
RaptorUK:
我从来没有遇到过堆栈溢出,从我所读到的内容来看,它们通常是由递归引起的,但我在你发布的代码中没有看到......为什么你的函数类型是int? 当你不使用它时,传递变量double zoom有什么意义?
还有一件事,OBJPROP_XDISTANCE和OBJPROP_YDISTANCE 的值应该是int 而不是double。
我从来没有遇到过堆栈溢出,从我所读到的内容来看,它们通常是由递归引起的,但我在你发布的代码中没有看到......为什么你的函数类型是int? 当你不使用它时,传递变量double zoom有什么意义?
还有一件事,OBJPROP_XDISTANCE和OBJPROP_YDISTANCE 的值应该是int 而不是double。
这也是我的困惑。
RaptorUK:
我从来没有遇到过堆栈溢出,从我所读到的内容来看,它们通常是由递归引起的,但我在你发布的代码中没有看到......为什么你的函数类型是int? 当你不使用它时,传递变量double zoom有什么意义?
还有一件事,OBJPROP_XDISTANCE和OBJPROP_YDISTANCE 的值应该是int 而不是double。
我从来没有遇到过堆栈溢出,从我所读到的内容来看,它们通常是由递归引起的,但我在你发布的代码中没有看到......为什么你的函数类型是int? 当你不使用它时,传递变量double zoom有什么意义?
还有一件事,OBJPROP_XDISTANCE和OBJPROP_YDISTANCE 的值应该是int 而不是double。
我做了一些查找和替换工作,但我还没有纠正指标的下半部分。
RaptorUK:
我从来没有遇到过堆栈溢出,从我所读到的内容来看,它们通常是由递归引起的,但我在你发布的代码中没有看到......为什么你的函数类型是int? 当你不使用它时,传递变量double zoom有什么意义?
还有一件事,OBJPROP_XDISTANCE和OBJPROP_YDISTANCE 的值应该是int 而不是double。
我从来没有遇到过堆栈溢出,从我所读到的内容来看,它们通常是由递归引起的,但我在你发布的代码中没有看到......为什么你的函数类型是int? 当你不使用它时,传递变量double zoom有什么意义?
还有一件事,OBJPROP_XDISTANCE和OBJPROP_YDISTANCE 的值应该是int 而不是double。
请阅读更多关于ObjectSet()的 书。等等,让我来帮忙。下面是一个摘录。
bool ObjectSet( string name, int index, double value)
我看看你的报价,然后用这个给你加价 . . .
objprop_xdistance | 102 | int | 用于设置/获取锚点X距离对象属性的整数,单位为像素。 |
锚点距离 | 103 | 整数 | 整数,用于设置/获取锚点的Y距离属性,单位为像素。 |
你会用双数来表示吗?
OBJPROP_BACK | 9 | bool | 布尔值,用于设置/获取对象的背景绘制标志。 |
OBJPROP_RAY | 10 | 布尔值 | 布尔值,用于设置/获取对象的射线标志。 |
Objprop_ellipse | 11 | bool | 布尔值,用于设置/获取菲波弧的椭圆标志。 |
RaptorUK:
在我所做的事情中,这没有什么区别,它比我在这里发布的一点信息要多。
我将看到你的报价,并向你提出这个问题......。
你会用双倍数来做这些吗?
tonny:
在我所做的事情中,它没有任何区别,它比我在这里发布的一点内容要多。
如果你不想贴出所有的代码,这样就可以重现这个错误,请贴出一些可以重现相同错误的完整代码。
在我所做的事情中,它没有任何区别,它比我在这里发布的一点内容要多。
RaptorUK:
如果你不想贴出所有的代码,这样就可以重现这个错误,请贴出一些可以重现同样错误的完整代码。
好的。
如果你不想贴出所有的代码,这样就可以重现这个错误,请贴出一些可以重现同样错误的完整代码。
我做了一个实验,替换了一些这样的对象
ObjectCreate("EURUSD", OBJ_LABEL, 0, 0, 0); // Creating obj. ObjectSet("EURUSD", OBJPROP_CORNER, 0); // Reference corner ObjectSet("EURUSD", OBJPROP_XDISTANCE, Column1x*ZoomTimes);// X coordinate ObjectSet("EURUSD", OBJPROP_YDISTANCE, ZoomTimes*15);// Y coordinate
并使用下面的函数 样式,错误就消失了。好像IDE能接受的上面的东西比下面的少。我试着用下面的样式替换上面的所有样式,看看是否会出现其他问题。
ObCreate("EURUSD",Column1x,15,ZoomTimes);
什么原因导致mql4在编译时出现堆栈溢出错误?我怀疑是使用一个函数来创建对象。下面是已经被调用了一百多次来创建对象的函数。
下面是一个使用例子
我以正常的方式创建了其他相同数量的对象,没有得到这个错误,但是当我引入并使用这个函数来创建其余的对象时,错误就出现了。请看下面的例子,虽然它的对象数量更多,但却没有出现这个错误。