[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 198 1...191192193194195196197198199200201202203204205...631 新评论 [删除] 2012.06.21 21:39 #1971 在一个指标中,我遇到了以下结构。 int R; //变量是在全局层面上声明的。 我发现在一个用户定义的函数中,同样的变量也有&符号,如图所示 voidFunction(int A, int B, int &R) {R = A*B}。 有谁能告诉我为什么要这样做,以及我在哪里能读到这方面的详细资料? Роман 2012.06.21 21:43 #1972 AndEv: 在一个指标中,我遇到了以下结构。 int R; //变量是在全局层面上声明的。 我发现在一个用户定义的函数中,同样的变量有&符号,比如说 void Function(int A, int B, int &R) {R = A*B}。 有谁能告诉我为什么要这样做,以及我在哪里可以读到更多关于它的信息? 教程在这里,谷歌 规则! [删除] 2012.06.21 22:16 #1973 Roman.: 教程在这里,谷歌 的规则! 我不明白如果是这样,会有什么变化。 void Function(int A, int B) {R = A*B}。 R变量是全局声明的,无论如何都会在函数中可见。在什么情况下有必要通过引用来传递参数? Роман 2012.06.21 22:22 #1974 AndEv: 我不明白如果是这样,会有什么变化。 void Function(int A, int B) {R = A*B}。 R变量是全局声明的,无论如何都会在函数中可见。在什么情况下有必要通过引用来传递参数? 阅读教科书、文件,谷歌一下,这里。 "当调用交换函数时,新的变量a和b被创建并被赋值为3和5。这些变量与变量p和q没有任何关系,改变它们并不能改变p和q的值。这种参数传递的方法被称为值传递。 为了使一个函数能够改变其他函数中声明的变量的值,你必须指定被传递的参数不仅仅是一个常量值,而是一个变量,你必须通过引用传递值。要做到这一点,swap函数应该被声明如下: void swap(int & a, int & b) 变量名称前的安培号意味着这个变量不是一个局部变量,而是对调用函数时指定为参数的变量的引用。现在,当你调用swap(p,q)时,变量a和b与变量p和q同义,改变它们的值会导致p和q的值改变。但你不能把一个函数称为swap(3,5),因为3和5是常数,你不能让变量与常数同义"。 [删除] 2012.06.21 22:37 #1975 Roman.: 阅读教程,文档,谷歌,这里。 "当调用交换函数时,新的变量a和b被创建,数值3和5被分配给它们。这些变量与p和q变量没有任何关系,改变它们并不改变p和q的值。这种参数传递的方法被称为值传递。 为了使一个函数能够改变其他函数中声明的变量的值,你必须指定被传递的参数不仅仅是一个常量值,而是一个变量,你必须通过引用传递值。要做到这一点,swap函数应该被声明如下: void swap(int & a, int & b) 变量名称前的安培号意味着这个变量不是一个局部变量,而是对调用函数时指定为参数的变量的引用。现在,当你调用swap(p,q)时,变量a和b与变量p和q同义,改变它们的值会导致p和q的值改变。但你不能把一个函数称为swap(3,5),因为3和5是常数,你不能让变量与常数同义"。 谢谢你提供的信息 Lopator 2012.06.21 23:57 #1976 Vinin: 你可以,但你需要让EA的速度提高。是的,我明白 :)只是,你经常尝试一些策略,一个测试版,只是为了看看这个想法是如何实现的。有时那里的错误会以完全不同的方式显示出来。而且我没有时间可以浪费,如果我必须在匆忙中构思和看到它。 有什么办法可以直截了当地关闭它,使它不复制他写到日志文件中的内容?关于它的问题。 Victor Nikolaev 2012.06.22 00:23 #1977 Pyro: 这是可以理解的:)只是很多时候,你只是尝试一种策略,一个测试版,只是为了看看这个想法是如何实现的。有时,这些错误会以完全不同的方式出现。而且你没有时间可以浪费,如果你需要急于构思和看到它。 有什么办法可以直截了当地关闭它,使它不复制他写到日志文件中的内容?关于它的问题。 你怎么能相信一个在错误中工作的EA呢? [删除] 2012.06.22 01:39 #1978 alsu: 它需要别的东西--改变程序的内部变量,即绘制指示器的参考点,然后在按下组合键后重新计算并重新绘制线条。 顺便问一下,为什么MT不想要钩子? 谢谢你的理解!)。 Рустам 2012.06.22 01:40 #1979 在测试器中 运行指标 可能会更容易... Aleksander 2012.06.22 02:48 #1980 nlp2311: 谢谢你的理解!)。 所以...做两个脚本--把它们挂在你需要的键上--并在其中添加一个终端的全局变量--你的专家顾问将定期读取--并改变Barshift...:-) 如果可以的话--你可以通过图形对象做同样的事情......。例如,在EA的初始化过程中,会显示两个文本标记--如果其中一个丢失(在EA工作过程中,你用鼠标选择了其中一个--按下Del键)--那么你的Barsheift计数器就会受到这样或那样的指控 :-)- 恢复屏幕上的删除标记.... 1...191192193194195196197198199200201202203204205...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在一个指标中,我遇到了以下结构。
int R; //变量是在全局层面上声明的。
我发现在一个用户定义的函数中,同样的变量也有&符号,如图所示
voidFunction(int A, int B, int &R) {R = A*B}。
有谁能告诉我为什么要这样做,以及我在哪里能读到这方面的详细资料?
在一个指标中,我遇到了以下结构。
int R; //变量是在全局层面上声明的。
我发现在一个用户定义的函数中,同样的变量有&符号,比如说
void Function(int A, int B, int &R) {R = A*B}。
有谁能告诉我为什么要这样做,以及我在哪里可以读到更多关于它的信息?
教程在这里,谷歌 规则!
教程在这里,谷歌 的规则!
我不明白如果是这样,会有什么变化。
void Function(int A, int B) {R = A*B}。
R变量是全局声明的,无论如何都会在函数中可见。在什么情况下有必要通过引用来传递参数?
我不明白如果是这样,会有什么变化。
void Function(int A, int B) {R = A*B}。
R变量是全局声明的,无论如何都会在函数中可见。在什么情况下有必要通过引用来传递参数?
阅读教科书、文件,谷歌一下,这里。
"当调用交换函数时,新的变量a和b被创建并被赋值为3和5。这些变量与变量p和q没有任何关系,改变它们并不能改变p和q的值。这种参数传递的方法被称为值传递。
为了使一个函数能够改变其他函数中声明的变量的值,你必须指定被传递的参数不仅仅是一个常量值,而是一个变量,你必须通过引用传递值。要做到这一点,swap函数应该被声明如下:
void swap(int & a, int & b)
变量名称前的安培号意味着这个变量不是一个局部变量,而是对调用函数时指定为参数的变量的引用。现在,当你调用swap(p,q)时,变量a和b与变量p和q同义,改变它们的值会导致p和q的值改变。但你不能把一个函数称为swap(3,5),因为3和5是常数,你不能让变量与常数同义"。
阅读教程,文档,谷歌,这里。
"当调用交换函数时,新的变量a和b被创建,数值3和5被分配给它们。这些变量与p和q变量没有任何关系,改变它们并不改变p和q的值。这种参数传递的方法被称为值传递。
为了使一个函数能够改变其他函数中声明的变量的值,你必须指定被传递的参数不仅仅是一个常量值,而是一个变量,你必须通过引用传递值。要做到这一点,swap函数应该被声明如下:
void swap(int & a, int & b)
变量名称前的安培号意味着这个变量不是一个局部变量,而是对调用函数时指定为参数的变量的引用。现在,当你调用swap(p,q)时,变量a和b与变量p和q同义,改变它们的值会导致p和q的值改变。但你不能把一个函数称为swap(3,5),因为3和5是常数,你不能让变量与常数同义"。
谢谢你提供的信息
你可以,但你需要让EA的速度提高。
是的,我明白 :)只是,你经常尝试一些策略,一个测试版,只是为了看看这个想法是如何实现的。有时那里的错误会以完全不同的方式显示出来。而且我没有时间可以浪费,如果我必须在匆忙中构思和看到它。
有什么办法可以直截了当地关闭它,使它不复制他写到日志文件中的内容?关于它的问题。
这是可以理解的:)只是很多时候,你只是尝试一种策略,一个测试版,只是为了看看这个想法是如何实现的。有时,这些错误会以完全不同的方式出现。而且你没有时间可以浪费,如果你需要急于构思和看到它。
有什么办法可以直截了当地关闭它,使它不复制他写到日志文件中的内容?关于它的问题。
你怎么能相信一个在错误中工作的EA呢?
它需要别的东西--改变程序的内部变量,即绘制指示器的参考点,然后在按下组合键后重新计算并重新绘制线条。
顺便问一下,为什么MT不想要钩子?
谢谢你的理解!)。
谢谢你的理解!)。
所以...做两个脚本--把它们挂在你需要的键上--并在其中添加一个终端的全局变量--你的专家顾问将定期读取--并改变Barshift...:-)
如果可以的话--你可以通过图形对象做同样的事情......。例如,在EA的初始化过程中,会显示两个文本标记--如果其中一个丢失(在EA工作过程中,你用鼠标选择了其中一个--按下Del键)--那么你的Barsheift计数器就会受到这样或那样的指控 :-)- 恢复屏幕上的删除标记....