新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 869 1...862863864865866867868869870871872873874875876...1953 新评论 Vitaly Muzichenko 2019.06.03 15:16 #8681 Artyom Trishkin: 帮助部分告诉你它是用来做什么的。而且,是的,由用户输入的参数不能以编程方式改变,这是正确的。至少可以有属于用户的东西 :)如果你真的想,你可以) Artyom Trishkin 2019.06.03 15:35 #8682 Vitaly Muzichenko:如果你真的想,你可以) 当然,你可以,如果你重新分配它。但用户输入的值将保持不变。 The_Sheikh 2019.06.03 16:51 #8683 我经常遇到一个问题。编译器在代码上出现了 "变量已定义 "的错误。 if (n<10) { int a=10; } else { int a=5; } https://docs.mql4.com/ru/basis/variables/local 上的参考指南说。 在块内声明的变量(在内部层面)具有块的范围。 如果区块被嵌套,并且外部区块中的标识符与内部区块中的标识符具有相同的名称,那么外部区块的标识符是 "不可见"(隐藏)的,直到内部区块完成。 但即使是同一本参考书中的例子也不能编译,同样出现了 "变量已定义 "的错误。int i=5; // локальная переменная функции { int i=10; // переменная функции Print("В блоке i = ",i); // результат i = 10; } Print("Вне блока i = ",i); // результат i = 5; 循环的问题也一样。 int i=10; for (int i=1;i<10;i++) ... 我们怎样才能绕过这个问题,使目录例子的编译不出现 "变量已定义 "的错误? Artyom Trishkin 2019.06.03 17:18 #8684 The_Sheikh:我经常遇到一个问题。编译器在代码上出现了 "变量已定义 "的错误。 https://docs.mql4.com/ru/basis/variables/local 上的参考指南说。 在块内声明的变量(在内部层面)具有块的范围。 如果区块被嵌套,并且外部区块中的标识符与内部区块中的标识符具有相同的名称,那么外部区块的标识符是 "不可见"(隐藏)的,直到内部区块完成。 但即使是同一本参考书中的例子也不能编译,同样出现了 "变量已定义 "的错误。 循环的问题也一样。 我们怎样才能绕过这个问题,使目录例子的编译不出现 "变量已定义 "的错误?#属性严格 Igor Makanu 2019.06.03 17:21 #8685 The_Sheikh: 我怎样才能绕过这个问题,让目录实例在编译时不出现 "变量已定义 "的错误?并非所有参考书中的例子都能长期正确工作 在你的例子中,通过范围--单个运算符内的可见性是本地的,它肯定应该这样工作。 void OnStart() { for(int i=0;i<10;i++) { double x=i; } for(int i=0;i<10;i++) { double x=i; } } 即for语句 中的可见性是局部的,当你退出它时,i和x变量将丢失。 Alexey Smolyakov 2019.06.03 19:08 #8686 试图寻找Peak Repainter指标的最后一个峰值,由EA处理。 GV_trendD1 = StringConcatenate(GVn," дневной тренд"); if (!GlobalVariableCheck(GV_trendD1)) { double fUP,fDN; for (int f=0; f<=400 && !IsStopped(); f++) { fUP = iCustom(NULL,PERIOD_D1,"Used\\# Peak Repainter",0,f); if (fUP>=15) {GlobalVariableSet(GV_trendD1,1);break;} else {fDN = iCustom(NULL,PERIOD_D1,"Used\\# Peak Repainter",1,f); if (fDN>=15) {GlobalVariableSet(GV_trendD1,-1);break;}} } } 其结果是,1被写入全局变量,尽管它实际上应该是-1。 有什么问题吗?有了密码?用指标? 该指标在使用时有默认设置。 附加的文件: r_Peak_Repainter.mq4 7 kb 5_Peak_Repainter.ex4 20 kb Artyom Trishkin 2019.06.03 19:11 #8687 Alexey G. Smolyakov:试图寻找Peak Repainter指标的最后一个峰值,由EA处理。 其结果是,1被写入全局变量,尽管它实际上应该是-1。 有什么问题吗?有了密码?用指标? 该指标在使用时有一个默认设置。为什么指标的名称 是这样的? iCustom(NULL,PERIOD_D1,"Used\\# Peak Repainter",0,f); Alexey Smolyakov 2019.06.03 20:57 #8688 Artyom Trishkin:为什么用这个指标的名字? 我只是把不同的EA的指标放在不同的目录里。而且我稍微重命名,以便它们被分组。 这个名字有什么影响吗? Igor Makanu 2019.06.03 21:20 #8689 Alexey G. Smolyakov:我只是把不同的EA的指标放在不同的目录里。而且我稍微重命名它们,以便将它们归为一组。 这个名字有什么影响吗?是的,所有对МТ4文件的访问都是在MQL4文件夹内进行的,出于安全原因,从该文件夹外的专家顾问/脚本/指示器的退出被排除在外。 Alexey Smolyakov 2019.06.03 21:38 #8690 Igor Makanu:影响,所有对MT4文件的访问都发生在MQL4文件夹内,出于安全原因,从该文件夹外的EA/脚本/指标的退出被排除。 MQL4文件夹Indicators/Used的完整路径。似乎在文件夹外没有出口。但这是一个反常现象--其他专家顾问系统在类似的文件夹中使用其指标时没有问题。但这个指标的问题是什么--我不明白。我翻阅了它的代码,但我没有足够的知识和经验来理解它。我怀疑它只计算最后一个小节或类似的东西。 1...862863864865866867868869870871872873874875876...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
帮助部分告诉你它是用来做什么的。而且,是的,由用户输入的参数不能以编程方式改变,这是正确的。至少可以有属于用户的东西 :)
如果你真的想,你可以)
如果你真的想,你可以)
我经常遇到一个问题。编译器在代码上出现了 "变量已定义 "的错误。
https://docs.mql4.com/ru/basis/variables/local 上的参考指南说。
在块内声明的变量(在内部层面)具有块的范围。
如果区块被嵌套,并且外部区块中的标识符与内部区块中的标识符具有相同的名称,那么外部区块的标识符是 "不可见"(隐藏)的,直到内部区块完成。
但即使是同一本参考书中的例子也不能编译,同样出现了 "变量已定义 "的错误。
循环的问题也一样。
我们怎样才能绕过这个问题,使目录例子的编译不出现 "变量已定义 "的错误?
我经常遇到一个问题。编译器在代码上出现了 "变量已定义 "的错误。
https://docs.mql4.com/ru/basis/variables/local 上的参考指南说。
在块内声明的变量(在内部层面)具有块的范围。
如果区块被嵌套,并且外部区块中的标识符与内部区块中的标识符具有相同的名称,那么外部区块的标识符是 "不可见"(隐藏)的,直到内部区块完成。
但即使是同一本参考书中的例子也不能编译,同样出现了 "变量已定义 "的错误。
循环的问题也一样。
我们怎样才能绕过这个问题,使目录例子的编译不出现 "变量已定义 "的错误?
我怎样才能绕过这个问题,让目录实例在编译时不出现 "变量已定义 "的错误?
并非所有参考书中的例子都能长期正确工作
在你的例子中,通过范围--单个运算符内的可见性是本地的,它肯定应该这样工作。
即for语句 中的可见性是局部的,当你退出它时,i和x变量将丢失。
试图寻找Peak Repainter指标的最后一个峰值,由EA处理。
其结果是,1被写入全局变量,尽管它实际上应该是-1。
有什么问题吗?有了密码?用指标?
该指标在使用时有默认设置。
试图寻找Peak Repainter指标的最后一个峰值,由EA处理。
其结果是,1被写入全局变量,尽管它实际上应该是-1。
有什么问题吗?有了密码?用指标?
该指标在使用时有一个默认设置。
为什么指标的名称 是这样的?
为什么用这个指标的名字?
我只是把不同的EA的指标放在不同的目录里。而且我稍微重命名,以便它们被分组。
这个名字有什么影响吗?
我只是把不同的EA的指标放在不同的目录里。而且我稍微重命名它们,以便将它们归为一组。
这个名字有什么影响吗?
是的,所有对МТ4文件的访问都是在MQL4文件夹内进行的,出于安全原因,从该文件夹外的专家顾问/脚本/指示器的退出被排除在外。
影响,所有对MT4文件的访问都发生在MQL4文件夹内,出于安全原因,从该文件夹外的EA/脚本/指标的退出被排除。