[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 267 1...260261262263264265266267268269270271272273274...631 新评论 Vadim Zhunko 2012.07.20 06:18 #2661 drknn: 1.好的。声明了Int start()。我一直都是以零分回报。我在代码中也看到了return(-1),甚至return(-2)的命令。选择这个代码的正确方法是什么? 2.因此,很自然的问题出现了,是否有可能声明EA/指示器/脚本的start()不是int()类型,而是任何其他类型,然后向终端返回什么?换句话说,终端对return()返回的值做了什么? 1.你如何决定一个正常的功能应该返回什么? 2.你可以有任何类型,就像一个正常的函数。终端对返回的值不做任何处理。它无视它们。 特殊功能 Владимир Тезис 2012.07.20 06:32 #2662 Zhunko: 1.你如何决定一个正常的功能应该回归什么? 2.你可以有任何类型,就像一个正常的函数。终端对返回的值不做任何处理。它无视它们。 1.为了决定一个普通函数应该返回什么,我需要知道为什么主代码需要这样一个值。例如,如果我想在有信号时做出开立买单的决定,我将写一个函数,返回已经开立的买单数量。根据有多少,代码将按照代码中嵌入的逻辑做出决定。我不知道返回代码中包含什么逻辑。今天我翻阅了一篇关于创建信号灯的文章,我看到了一个返回代码(-2)。很惊讶,在这里问了一个问题。这就是全部。(https://www.mql5.com/ru/articles/1412- 这里的文章)。 2.终端忽略了返回的值。是这样吗?如果是这样,那么又出现了一个合理的问题,为什么在创建一个EA/指标/脚本时,开发者正好把int放入模板,因为把void放在那里会更合理--那么终端就不必忽略任何东西--我们会获得1战术的处理器时间?也许在从int init()、int deinit()和int start()函数返回的过程中有一些逻辑?我想罗氏已经在某个地方向某人解释过了--他记得有关于何时返回零和何时返回(-1)的描述。我所寻找的正是这种解释。太糟糕了,我找不到它... P.S. 文章的作者为了自己的目的使用了return(-2)。但事实是,有时start()函数结束时,代码会返回一个不同于零的值。而且不仅仅是一个人在做这件事。这正是我们想要了解的这种逻辑。 Владимир Тезис 2012.07.20 06:36 #2663 Zhunko: 特殊功能 在文本中看起来是有的。 预定义函数可以有参数。然而,当这些函数被客户终端调用时,将不会从外部传递参数,而是使用默认值。 这是关于进入函数的参数,而不是由它返回的参数。 [删除] 2012.07.20 06:40 #2664 谢谢你的答复drknn: 这是一个订单计数器。好吧,可能是这样的,例如,你想在代码中知道市场上是否有某一货币对的买单,并有某一神奇数字,例如。如果有,例如,另一个买入订单不能被打开。所以需要订单计数器来做决定。 Юсуфходжа 2012.07.20 06:41 #2665 paladin80: 我在开始后就在我的EA中写了这个。 试试吧,你可能会发现其中一些内容很有用。 谢谢你,我发现了我的错误。当我的EA因为文章(上面的链接)中给出的原因而被卡住时,我关闭了它并重新开始,但忘了将订单主站从123改为124,两个不同方向的EA得到了相同的标记并开始竞争,看谁开单更快。如果第一个订单先被打开,那就不一样了,比如说卖出,反之亦然。当我改变了第二个更新的EA的魔法后,它们都开始正常工作。如果错误再次发生,我将采纳你的建议。谢谢你的回答。 [删除] 2012.07.20 07:06 #2666 如何理解这些线条。 退货订单量 if(buys>0) return(buys)。 否则返回(-sells)。 } ? Владимир Тезис 2012.07.20 07:11 #2667 写一个脚本。 int start(){ Print("Попытка ретурна 136"); return(136); } 把它扔在图表上,看日志。 2012.07.20 12:04:11 111 NZDUSD,M15: removed 2012.07.20 12:04:11 111 NZDUSD,M15: uninit reason 0 2012.07.20 12:04:11 111 NZDUSD,M15: Попытка ретурна 136 2012.07.20 12:04:11 111 NZDUSD,M15: loaded successfully (这里111是脚本的名称)。我们看到一行 "uninit reason 0"--显然,终端在等待0!"。 用(-1)尝试同样的方法。 int start(){ Print("Попытка ретурна -1"); return(-1); } 其结果是一样的。 2012.07.20 12:08:19 111 NZDUSD,M15: 删除 2012.07.20 12:08:19 111 NZDUSD,M15: uninit reason 0 2012.07.20 12:08:19 111 NZDUSD,M15:试图返回-1 2012.07.20 12:08:19 111 NZDUSD,M15:加载成功 终端似乎关心是否返回零。 P.S. 总的来说,在网上看到了这个答案。 返回0 - 程序已经完成工作,没有错误 返回1 - 或更高的数字,程序已经完成了工作,出现了错误,并返回错误代码,以便进一步处理。 在任何操作系统中,任何程序都会返回一个错误代码。 唯一的麻烦是,我们的返回并不是将代码返回给操作系统,而是返回给终端。这就留下了一个问题。 PapaYozh 2012.07.20 07:13 #2668 drknn: 写一个脚本。 把它扔在图表上,看日志。 (这里111是脚本的名称)。我们看到一行 "uninit reason 0"--显然,终端在等待0!"。 用(-1)尝试同样的方法。 其结果是一样的。 显然,终端关心的是是否返回零。 uninit原因是专家顾问终止的原因代码。 https://docs.mql4.com/ru/constants/uninit Рустам 2012.07.20 07:18 #2669 你稍微有点混淆了,UNINIT REASON与相对于标准函数的回报没有关系。编写一个EA,从 "开始 "调用 "init",返回结果不同,看看。其实https://docs.mql4.com/ru/basis/functions/special,医生说得很完美。只要再仔细 重读一遍。 Vadim Zhunko 2012.07.20 07:29 #2670 drknn: 1.要决定一个正常的函数到底应该返回什么,我应该知道为什么主代码需要这样一个值。例如,如果我想在有信号时做出开立买单的决定,我将写一个函数,返回已经开立的买单数量。根据数量的多少,代码将按照代码中嵌入的逻辑做出决定。我不知道返回代码中包含什么逻辑。今天我翻阅了一篇关于创建信号灯的文章,我看到了一个返回代码(-2)。很惊讶,在这里问了一个问题。这就是全部。(https://www.mql5.com/ru/articles/1412- 这里的文章)。 2. 终端忽略了返回值。这是否准确?如果是这样,那么又出现了一个合理的问题,为什么在创建EA/指标/脚本的时候,开发者要在模板中准确地放入int,因为把void放在那里会更符合逻辑--那么终端将不必忽略任何东西--那么我们将获得1战术的处理器时间?也许在从int init()、int deinit()和int start()函数返回的过程中有一些逻辑?我想罗氏已经在某个地方向某人解释过了--他记得有关于何时返回零和何时返回(-1)的描述。我所寻找的正是这种解释。太糟糕了,我找不到它... P.S. 文章的作者为了自己的目的使用了return(-2)。但事实是,有时start()函数结束时,代码会返回一个不同于零的值。而且不仅仅是一个人在做这件事。这正是我想了解的这种逻辑。 1.我不能对其进行任何补充。无论你想要什么,都要归还。 2.终端会忽略它,你的代码也不会忽略它,如果它是这样构建的。该系统调用忽略了参数和返回值。这是很明显的。在这种情况下,它回到了哪里? 我们只能猜测这个图案的产生。开发者一定是从默认的INT开始的。 1...260261262263264265266267268269270271272273274...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
1.好的。声明了Int start()。我一直都是以零分回报。我在代码中也看到了return(-1),甚至return(-2)的命令。选择这个代码的正确方法是什么?
2.因此,很自然的问题出现了,是否有可能声明EA/指示器/脚本的start()不是int()类型,而是任何其他类型,然后向终端返回什么?换句话说,终端对return()返回的值做了什么?
1.你如何决定一个正常的功能应该返回什么?
2.你可以有任何类型,就像一个正常的函数。终端对返回的值不做任何处理。它无视它们。
特殊功能
1.你如何决定一个正常的功能应该回归什么?
2.你可以有任何类型,就像一个正常的函数。终端对返回的值不做任何处理。它无视它们。
1.为了决定一个普通函数应该返回什么,我需要知道为什么主代码需要这样一个值。例如,如果我想在有信号时做出开立买单的决定,我将写一个函数,返回已经开立的买单数量。根据有多少,代码将按照代码中嵌入的逻辑做出决定。我不知道返回代码中包含什么逻辑。今天我翻阅了一篇关于创建信号灯的文章,我看到了一个返回代码(-2)。很惊讶,在这里问了一个问题。这就是全部。(https://www.mql5.com/ru/articles/1412- 这里的文章)。
2.终端忽略了返回的值。是这样吗?如果是这样,那么又出现了一个合理的问题,为什么在创建一个EA/指标/脚本时,开发者正好把int放入模板,因为把void放在那里会更合理--那么终端就不必忽略任何东西--我们会获得1战术的处理器时间?也许在从int init()、int deinit()和int start()函数返回的过程中有一些逻辑?我想罗氏已经在某个地方向某人解释过了--他记得有关于何时返回零和何时返回(-1)的描述。我所寻找的正是这种解释。太糟糕了,我找不到它...
P.S.
文章的作者为了自己的目的使用了return(-2)。但事实是,有时start()函数结束时,代码会返回一个不同于零的值。而且不仅仅是一个人在做这件事。这正是我们想要了解的这种逻辑。
特殊功能
在文本中看起来是有的。
预定义函数可以有参数。然而,当这些函数被客户终端调用时,将不会从外部传递参数,而是使用默认值。
这是关于进入函数的参数,而不是由它返回的参数。
这是一个订单计数器。好吧,可能是这样的,例如,你想在代码中知道市场上是否有某一货币对的买单,并有某一神奇数字,例如。如果有,例如,另一个买入订单不能被打开。所以需要订单计数器来做决定。
我在开始后就在我的EA中写了这个。
试试吧,你可能会发现其中一些内容很有用。
如何理解这些线条。
退货订单量
if(buys>0) return(buys)。
否则返回(-sells)。
} ?
写一个脚本。
把它扔在图表上,看日志。
2012.07.20 12:04:11 111 NZDUSD,M15: removed
2012.07.20 12:04:11 111 NZDUSD,M15: uninit reason 0
2012.07.20 12:04:11 111 NZDUSD,M15: Попытка ретурна 136
2012.07.20 12:04:11 111 NZDUSD,M15: loaded successfully
(这里111是脚本的名称)。我们看到一行 "uninit reason 0"--显然,终端在等待0!"。
用(-1)尝试同样的方法。
其结果是一样的。
2012.07.20 12:08:19 111 NZDUSD,M15: 删除
2012.07.20 12:08:19 111 NZDUSD,M15: uninit reason 0
2012.07.20 12:08:19 111 NZDUSD,M15:试图返回-1
2012.07.20 12:08:19 111 NZDUSD,M15:加载成功
终端似乎关心是否返回零。
P.S.
总的来说,在网上看到了这个答案。
返回0 - 程序已经完成工作,没有错误
返回1 - 或更高的数字,程序已经完成了工作,出现了错误,并返回错误代码,以便进一步处理。
在任何操作系统中,任何程序都会返回一个错误代码。
唯一的麻烦是,我们的返回并不是将代码返回给操作系统,而是返回给终端。这就留下了一个问题。
写一个脚本。
把它扔在图表上,看日志。
(这里111是脚本的名称)。我们看到一行 "uninit reason 0"--显然,终端在等待0!"。
用(-1)尝试同样的方法。
其结果是一样的。
显然,终端关心的是是否返回零。uninit原因是专家顾问终止的原因代码。
https://docs.mql4.com/ru/constants/uninit
1.要决定一个正常的函数到底应该返回什么,我应该知道为什么主代码需要这样一个值。例如,如果我想在有信号时做出开立买单的决定,我将写一个函数,返回已经开立的买单数量。根据数量的多少,代码将按照代码中嵌入的逻辑做出决定。我不知道返回代码中包含什么逻辑。今天我翻阅了一篇关于创建信号灯的文章,我看到了一个返回代码(-2)。很惊讶,在这里问了一个问题。这就是全部。(https://www.mql5.com/ru/articles/1412- 这里的文章)。
2. 终端忽略了返回值。这是否准确?如果是这样,那么又出现了一个合理的问题,为什么在创建EA/指标/脚本的时候,开发者要在模板中准确地放入int,因为把void放在那里会更符合逻辑--那么终端将不必忽略任何东西--那么我们将获得1战术的处理器时间?也许在从int init()、int deinit()和int start()函数返回的过程中有一些逻辑?我想罗氏已经在某个地方向某人解释过了--他记得有关于何时返回零和何时返回(-1)的描述。我所寻找的正是这种解释。太糟糕了,我找不到它...
P.S.
文章的作者为了自己的目的使用了return(-2)。但事实是,有时start()函数结束时,代码会返回一个不同于零的值。而且不仅仅是一个人在做这件事。这正是我想了解的这种逻辑。
1.我不能对其进行任何补充。无论你想要什么,都要归还。
2.终端会忽略它,你的代码也不会忽略它,如果它是这样构建的。该系统调用忽略了参数和返回值。这是很明显的。在这种情况下,它回到了哪里?
我们只能猜测这个图案的产生。开发者一定是从默认的INT开始的。