新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 927 1...920921922923924925926927928929930931932933934...1953 新评论 Roman Shiredchenko 2019.07.31 14:41 #9261 Artyom Trishkin: 存储文件夹: 文件 --> 打开数据文件夹 --> MQL4\Experts\Here.ex4 如果是这种情况,但EA在导航器中不可见,那么...恭喜你--你已经用完了导航仪中的可能程序。 你需要删除一些东西。不幸的是,MetaTrader4对导航仪能看到的程序数量有限制。我在创建大量指标时面临这个问题。为了不删除很多,我只是把代码复制到一个测试文件中,然后编译并运行它--我总是这样在一个文件中测试我需要的指标--删除文件内容,把新代码放进去,编译并测试--完成。然后是下一个--抹去文件的内容,在其中插入新的代码......,如此循环下去......。 谢谢你,我看看...我将在这里回信...在软件方面没有太多的... Roman Shiredchenko 2019.07.31 20:07 #9262 Artyom Trishkin: 文件夹:文件 --> 打开数据文件夹 --> MQL4\Experts\Here.ex4 如果一切都相同,但EA在导航器中不可见,那么...恭喜你--你已经用完了导航仪中可能的程序。 你需要删除一些东西。不幸的是,MetaTrader4对导航器能看到的程序数量有限制。我在创建大量指标时面临这个问题。为了不删除很多,我只是把代码复制到一个测试文件中,然后编译并运行它--我总是这样在一个文件中测试我需要的指标--删除文件内容,把新代码放进去,编译并测试--完成。然后是下一个--抹去文件的内容,在其中插入新的代码......,如此循环下去......。 拷贝到数据目录中 - exps, indicators, scripts - 不够。在《导航仪》中......七月--不。 在我启动终端的文件夹里,它也是存在的。在 "导航仪 "中没有。 Artem - 谢谢你。我重新启动了终端 - 它就在那里。 Seric29 2019.08.01 16:46 #9263 我想创建一个数组,并把数值放在创建的数组中,但我想通过函数变量等来输入这些数值。 例如。 int q=8,w=9。 int mas[2]={q,w}.我们应该做的是mas[0]=q,mas[1]=w。有没有办法替代已经存储了必要计算的变量,并把它放到一个数组中? 是否可以用宏来做这件事? Igor Makanu 2019.08.01 16:59 #9264 Seric29: 我想创建一个数组,并把数值放在创建的数组中,但我想通过函数变量等来输入这些数值。 例如。 int q=8,w=9。 int mas[2]={q,w}.我们应该做的是mas[0]=q,mas[1]=w。是否可以通过替换已经存储了所需计算结果的变量来创建一个数组,并将其放入数组中? 是否可以用宏来做这件事? 本周早些时候,有人在"缺陷、错误、问题 " 主题中讨论了这个问题--结果是不可能的。 Seric29 2019.08.01 17:20 #9265 Igor Makanu: 你不能这样做,在本周初的"错误、错误、问题 " 主题中,有人讨论过这个问题--结果是没有。 我明白了。我见过有人在声明数组时用宏来分配列数,虽然在mql中通过变量初始化数组时传递列或行的值是被禁止的,但有人通过宏来做。这里的主题是https://www.mql5.com/ru/forum/95351。 #define ODD 5 双倍Max_D1[ODD]。 double Low_D1[ODD]; Igor Makanu 2019.08.01 17:33 #9266 Seric29: 我明白了。我看到有人在声明数组时用宏来分配列数,虽然在mql中通过变量初始化数组时传递列或行是禁止的,但有人用宏来做。下面是主题https://www.mql5.com/ru/forum/95351。 #define ODD 5 双倍Max_D1[ODD]。 double Low_D1[ODD]; 而这一行动的意义何在?: 一个数组可以用变量而不是常量进行初始化吗?- 答案是否定的。 你的宏将做手工工作,为数组的每个元素分配一个变量值,但这一点并没有改变 Seric29 2019.08.01 17:43 #9267 Igor Makanu: 以及这个行动的意义是什么? 你是如何提出这个问题的?: 一个数组可以用变量而不是常量进行初始化吗?- 答案是否定的。 你的宏将做手工工作,为每个数组元素分配一个变量值,但本质不会改变。 好吧,我认为有可能用它做一些事情。 Seric29 2019.08.01 18:12 #9268 Igor Makanu: 以及这一行动的意义? 你是如何提出这个问题的?: 一个数组可以用变量而不是常量进行初始化吗?- 答案是否定的。 你的宏将做手工工作,为数组中的每个元素分配一个变量值,但这一点并没有改变。 你能创建一个返回常量值的函数来解决这个问题吗? Igor Makanu 2019.08.01 19:14 #9269 Seric29: 能否创建一个返回常量值的函数来解决这个问题? 不,你不能 你混淆了初始化和赋值的概念;它们的本质是一样的,但使用的时刻(时间)是不同的;初始化是在你描述一个数组的字符串中--在那里你用常量初始化它,而赋值,当你在描述一个数组(数组元素)后的任何地方给它任意赋值时 我不知道如何解释你的要求,以及我为什么要写你不能 当使用数组时,没有你提出的这种问题,显然从写代码开始,你就没有假设使用数组,现在你只需要重写代码或为每个数组元素手动分配一个变量值即可。 有时,为了不使变量 "相乘",我可以使用数组,如果数组有3-4个以上的元素,在编写程序时混淆数组元素数量的危险性很高;我使用用#define设置的常量值--代码是可读的,你就不会犯错,像这样。 #define open 0 #define take 1 #define loss 2 #define profit 3 void OnStart() { double order[4]; order[open] = OrderOpenPrice(); order[take] = OrderTakeProfit(); order[loss] = OrderStopLoss(); order[profit]= OrderProfit(); } 也许我不明白你的问题的明确性。 塞里奇29。 这样的问题,我想创建一个数组,并立即把值放在创建的数组中,但我想通过变量函数等来反馈这些值。 例子。 int q=8,w=9。 int mas[2]={q,w}.我们应该做的是mas[0]=q,mas[1]=w。是否可以通过替换已经存储了必要计算的变量来创建一个数组,并将其放入数组中? 是否可以用宏来做这个? 当描述一个数组时?- 需要用变量进行初始化吗?- 以上回答了2次 或将多个变量值分配给一个数组?- 答案也是不可能的,但由于无效的语法。 你不能在大括号中应用变量,即{1,2,3}--这将被编译器跳过,但{a,b,c}--你不能这样做,因为编译器会期望进行算术(逻辑)运算或运算符=(lvalue, rvalue)...所以,你应该研究语言的语法,但这可能不是关于语言的可能性。 Seric29 2019.08.01 19:43 #9270 Igor Makanu: 不,你不能。 你混淆了初始化和赋值的概念--它们的本质是一样的,但使用的时刻(时间)是不同的;初始化是在你描述一个数组的字符串中--在那里你用常量初始化它,而赋值是,在你描述一个数组之后,你在任何地方给一个数组(数组元素)赋值。 我不知道如何解释你的要求,以及我为什么要写你不能 当使用数组时,没有你提出的这种问题,显然从写代码开始,你就没有假设使用数组,现在你只需要重写代码或为每个数组元素手动分配一个变量值即可。 有时,为了不使变量 "相乘",我可以使用数组,如果数组有3-4个以上的元素,在编写程序时混淆数组元素数量的危险性很高;我使用用#define设置的常量值--代码是可读的,你就不会犯错,像这样。 嗯,是的,程序中声明的元素有一个混合使用。例如,我声明输入参数,从这些参数中我需要采取全局变量并查看它们,但有一个问题,输入参数不能是一个数组,第二个例子我写了一个函数并开始通过循环处理,这里也最好使用一个数组,我开始参数到一个数组,同样变量数组是不可能的,必须像你上面写的每个单元格中的一个值,第三个例子将很好,能够使用一个数组作为参数函数(这里他是萌芽状态)。至于用数组代替变量,是的,它使程序变得紧凑,我也是这样做的。在C++中,你可以在初始化的时候写进变量,也许在12以下的版本中不能,这里他们把它变得更便宜,导致了这样的后果。总的来说,我理解并感谢你的回答。 1...920921922923924925926927928929930931932933934...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
存储文件夹: 文件 --> 打开数据文件夹 --> MQL4\Experts\Here.ex4
如果是这种情况,但EA在导航器中不可见,那么...恭喜你--你已经用完了导航仪中的可能程序。 你需要删除一些东西。不幸的是,MetaTrader4对导航仪能看到的程序数量有限制。我在创建大量指标时面临这个问题。为了不删除很多,我只是把代码复制到一个测试文件中,然后编译并运行它--我总是这样在一个文件中测试我需要的指标--删除文件内容,把新代码放进去,编译并测试--完成。然后是下一个--抹去文件的内容,在其中插入新的代码......,如此循环下去......。
文件夹:文件 --> 打开数据文件夹 --> MQL4\Experts\Here.ex4
如果一切都相同,但EA在导航器中不可见,那么...恭喜你--你已经用完了导航仪中可能的程序。 你需要删除一些东西。不幸的是,MetaTrader4对导航器能看到的程序数量有限制。我在创建大量指标时面临这个问题。为了不删除很多,我只是把代码复制到一个测试文件中,然后编译并运行它--我总是这样在一个文件中测试我需要的指标--删除文件内容,把新代码放进去,编译并测试--完成。然后是下一个--抹去文件的内容,在其中插入新的代码......,如此循环下去......。
拷贝到数据目录中 - exps, indicators, scripts - 不够。在《导航仪》中......七月--不。
在我启动终端的文件夹里,它也是存在的。在 "导航仪 "中没有。
Artem - 谢谢你。我重新启动了终端 - 它就在那里。
我想创建一个数组,并把数值放在创建的数组中,但我想通过函数变量等来输入这些数值。 例如。
int q=8,w=9。
int mas[2]={q,w}.我们应该做的是mas[0]=q,mas[1]=w。有没有办法替代已经存储了必要计算的变量,并把它放到一个数组中? 是否可以用宏来做这件事?
我想创建一个数组,并把数值放在创建的数组中,但我想通过函数变量等来输入这些数值。 例如。
int q=8,w=9。
int mas[2]={q,w}.我们应该做的是mas[0]=q,mas[1]=w。是否可以通过替换已经存储了所需计算结果的变量来创建一个数组,并将其放入数组中? 是否可以用宏来做这件事?
本周早些时候,有人在"缺陷、错误、问题 " 主题中讨论了这个问题--结果是不可能的。
你不能这样做,在本周初的"错误、错误、问题 " 主题中,有人讨论过这个问题--结果是没有。
我明白了。我见过有人在声明数组时用宏来分配列数,虽然在mql中通过变量初始化数组时传递列或行的值是被禁止的,但有人通过宏来做。这里的主题是https://www.mql5.com/ru/forum/95351。
#define ODD 5
双倍Max_D1[ODD]。
double Low_D1[ODD];
我明白了。我看到有人在声明数组时用宏来分配列数,虽然在mql中通过变量初始化数组时传递列或行是禁止的,但有人用宏来做。下面是主题https://www.mql5.com/ru/forum/95351。
#define ODD 5
双倍Max_D1[ODD]。
double Low_D1[ODD];
而这一行动的意义何在?: 一个数组可以用变量而不是常量进行初始化吗?- 答案是否定的。
你的宏将做手工工作,为数组的每个元素分配一个变量值,但这一点并没有改变
以及这个行动的意义是什么? 你是如何提出这个问题的?: 一个数组可以用变量而不是常量进行初始化吗?- 答案是否定的。
你的宏将做手工工作,为每个数组元素分配一个变量值,但本质不会改变。
好吧,我认为有可能用它做一些事情。
以及这一行动的意义? 你是如何提出这个问题的?: 一个数组可以用变量而不是常量进行初始化吗?- 答案是否定的。
你的宏将做手工工作,为数组中的每个元素分配一个变量值,但这一点并没有改变。
你能创建一个返回常量值的函数来解决这个问题吗?
能否创建一个返回常量值的函数来解决这个问题?
不,你不能
你混淆了初始化和赋值的概念;它们的本质是一样的,但使用的时刻(时间)是不同的;初始化是在你描述一个数组的字符串中--在那里你用常量初始化它,而赋值,当你在描述一个数组(数组元素)后的任何地方给它任意赋值时
我不知道如何解释你的要求,以及我为什么要写你不能
当使用数组时,没有你提出的这种问题,显然从写代码开始,你就没有假设使用数组,现在你只需要重写代码或为每个数组元素手动分配一个变量值即可。
有时,为了不使变量 "相乘",我可以使用数组,如果数组有3-4个以上的元素,在编写程序时混淆数组元素数量的危险性很高;我使用用#define设置的常量值--代码是可读的,你就不会犯错,像这样。
也许我不明白你的问题的明确性。
这样的问题,我想创建一个数组,并立即把值放在创建的数组中,但我想通过变量函数等来反馈这些值。 例子。
int q=8,w=9。
int mas[2]={q,w}.我们应该做的是mas[0]=q,mas[1]=w。是否可以通过替换已经存储了必要计算的变量来创建一个数组,并将其放入数组中? 是否可以用宏来做这个?
当描述一个数组时?- 需要用变量进行初始化吗?- 以上回答了2次
或将多个变量值分配给一个数组?- 答案也是不可能的,但由于无效的语法。
你不能在大括号中应用变量,即{1,2,3}--这将被编译器跳过,但{a,b,c}--你不能这样做,因为编译器会期望进行算术(逻辑)运算或运算符=(lvalue, rvalue)...所以,你应该研究语言的语法,但这可能不是关于语言的可能性。
不,你不能。
你混淆了初始化和赋值的概念--它们的本质是一样的,但使用的时刻(时间)是不同的;初始化是在你描述一个数组的字符串中--在那里你用常量初始化它,而赋值是,在你描述一个数组之后,你在任何地方给一个数组(数组元素)赋值。
我不知道如何解释你的要求,以及我为什么要写你不能
当使用数组时,没有你提出的这种问题,显然从写代码开始,你就没有假设使用数组,现在你只需要重写代码或为每个数组元素手动分配一个变量值即可。
有时,为了不使变量 "相乘",我可以使用数组,如果数组有3-4个以上的元素,在编写程序时混淆数组元素数量的危险性很高;我使用用#define设置的常量值--代码是可读的,你就不会犯错,像这样。
嗯,是的,程序中声明的元素有一个混合使用。例如,我声明输入参数,从这些参数中我需要采取全局变量并查看它们,但有一个问题,输入参数不能是一个数组,第二个例子我写了一个函数并开始通过循环处理,这里也最好使用一个数组,我开始参数到一个数组,同样变量数组是不可能的,必须像你上面写的每个单元格中的一个值,第三个例子将很好,能够使用一个数组作为参数函数(这里他是萌芽状态)。至于用数组代替变量,是的,它使程序变得紧凑,我也是这样做的。在C++中,你可以在初始化的时候写进变量,也许在12以下的版本中不能,这里他们把它变得更便宜,导致了这样的后果。总的来说,我理解并感谢你的回答。