[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 512 1...505506507508509510511512513514515516517518519...631 新评论 Alekseu Fedotov 2012.11.15 19:01 #5111 hoz: 这是最简单的方法。但我在看一个程序员的文章,他的启动 函数中根本没有声明什么。这里有他的顾问的链接。http://www.forextrade.ru/media/Image/MQLabs/181_ag/ChannelByMACross_Expert.mq4特别是,我对他如何智能地写代码非常感兴趣。所以,我想学习如何把所有的东西都写在独立的函数中,只添加精华部分开始,而不在那里声明变量。如果我们将一个变量通过引用传递到一个函数中,我们是在用原始变量的缓冲区工作,而不是用其单独的双倍数。这意味着我们之前在哪个函数中声明它并不重要。不是吗? 他还聪明地写道:阅读 是的,改变这一行if(!Trade(signal, priceForBuy, priceForSell))至if(!GetPriceToInput (signal)) Dimka-novitsek 2012.11.15 19:20 #5112 Roman.:你什么时候才能得到你自己的私人露营车,迪曼?)你在现实世界中一年都没有赚到钱,是吗?你那里有很多START金额分配给你,不是吗?) 很快。 Viktar Dzemikhau 2012.11.15 19:29 #5113 Reshetov:你可以在函数之外声明一个静态变量,然后你就完全不必通过引用传递任何东西了。 你的想法是不正确的。如果你把一个变量作为参数传递给一个函数,它不能在函数主体中声明,它已经在参数中声明了。该函数必须在它被传递的地方被声明。 我的意思是,如果我们从启动 函数或其他函数中传递它,这并不重要。在这种情况下,我在double GetPriceToInput(int signal) 函数中声明了变量,并将在同一个double GetPriceToInput(int signal) 函数中声明的priceForSell 和priceForBuy 变量通过引用传递到bool Trade(int signal, double& priceForBuy, double& priceForSell) 函数。我把这个函数添加到启动 函数中,看到它们在那里已经是未定义的。我想知道如何修复它。当然,我可以像你说的那样,在开始时 一次性声明这2个变量,但我可以直接从Double GetPriceToInput(int signal) 函数中 传递 它们。 这就是我的意思。 将指标应用至其他指标 开发多币种 EA 交易(第 2 EA 遥控方法 Yury Reshetov 2012.11.15 19:40 #5114 hoz: 我的意思是,如果我们从启动 函数或其他函数中传递它们,这并不重要。在这种情况下,我在double GetPriceToInput(int signal) 函数中声明了变量,并将在同一个double GetPriceToInput(int signal) 函数中声明的变量priceForSell 和priceForBuy 通过引用传递到bool Trade(int signal, double& priceForBuy, double& priceForSell) 函数。我把这个函数添加到启动 函数中,看到它们在那里已经是未定义的。我想了解如何解决这个问题。你在哪里传递了它们,为什么你在没有传递它们的地方赋值? Viktar Dzemikhau 2012.11.15 19:45 #5115 Reshetov:你在哪里传递它们,在哪里给它们赋值? 好吧,我在函数double GetPriceToInput(int signal) 中得到了变量的值。在这里。double priceForSell = secondBarClosed - deltaForSell;double priceForBuy = secondBarClosed + deltaForBuy;我返回这些值。return(priceForSell);return(priceForBuy);也就是说,这些值已经被函数返回了。然后我把这些值通过引用发送到函数bool Trade(int signal, double& priceForBuy, double& priceForSell)。这是很明显的! Yury Reshetov 2012.11.15 19:58 #5116 hoz:也就是说,这些值已经被函数返回了。 它在哪里返回它们,也就是说,在代码中,这些变量的值被函数返回的确切位置是哪里?而且,如果不是通过引用传递,一个函数怎么能返回一个以上的值? Vladyslav Goshkov 2012.11.15 20:17 #5117 hoz: 好吧,我在函数double GetPriceToInput(int signal) 中得到了变量的值。在这里。我返回这些值。也就是说,这些值已经被函数返回了。然后我把这些值通过引用发送到函数bool Trade(int signal, double& priceForBuy, double& priceForSell)。这里的一切都很清楚! 只是读了一本教科书。特别是,请阅读关于变量范围的 章节。并从简单的例子开始。SZS 看来你需要从编程的基础知识开始。 Viktar Dzemikhau 2012.11.15 20:26 #5118 Reshetov: 它在哪里返回,也就是说,确切地显示出这些变量值在代码中哪里被函数返回?如果一个函数不是通过引用传递给它的,它怎么能返回一个以上的值呢? 说实话,我已经完全糊涂了。我甚至没有任何例子来看看别人是怎么做的。我的理解是,除了获取数值之外,你还必须将它们分配给其他一些变量?VladislavVG: 只需阅读课本。特别是阅读关于变量范围的部分。并从一些简单的例子开始。看来你需要从编程的基础知识开始。 我不需要基本的东西。我很清楚可变的能见度。教科书中没有关于通过引用传递变量值的内容。你为什么要送我去那里?你在嘲笑我吗? Yury Reshetov 2012.11.15 20:29 #5119 hoz: 我不需要基本的东西。我很清楚可变视力的问题。教科书中没有关于通过引用传递变量值的内容。你为什么要送我去那里?你在跟我开玩笑吗? 那就再见吧。教导一个科学家是没有用的。因此,如果你已经吃饱了,我们就不要嘲笑你了。 Viktar Dzemikhau 2012.11.15 20:33 #5120 Reshetov: 那么再见了。教导一个科学家是没有用的。所以我们不要嘲笑你,如果你已经全身心投入工作。 。 为什么要马上把你送走?教科书中没有任何关于参数转移的链接。 为什么我要把同样的东西读100遍? 我问了一个具体问题。我已经把课本读了很多遍。我今天看了一下,里面没有任何关于通过引用来转移 参数的内容!我想,这就是为什么我在这里说 "我 "的意思。 1...505506507508509510511512513514515516517518519...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这是最简单的方法。但我在看一个程序员的文章,他的启动 函数中根本没有声明什么。
这里有他的顾问的链接。
http://www.forextrade.ru/media/Image/MQLabs/181_ag/ChannelByMACross_Expert.mq4
特别是,我对他如何智能地写代码非常感兴趣。所以,我想学习如何把所有的东西都写在独立的函数中,只添加精华部分开始,而不在那里声明变量。
如果我们将一个变量通过引用传递到一个函数中,我们是在用原始变量的缓冲区工作,而不是用其单独的双倍数。这意味着我们之前在哪个函数中声明它并不重要。不是吗?
他还聪明地写道:
阅读
是的,改变这一行
if(!Trade(signal, priceForBuy, priceForSell))
至
if(!GetPriceToInput (signal))
你什么时候才能得到你自己的私人露营车,迪曼?)
你在现实世界中一年都没有赚到钱,是吗?你那里有很多START金额分配给你,不是吗?)
很快。
你可以在函数之外声明一个静态变量,然后你就完全不必通过引用传递任何东西了。
你的想法是不正确的。如果你把一个变量作为参数传递给一个函数,它不能在函数主体中声明,它已经在参数中声明了。该函数必须在它被传递的地方被声明。我的意思是,如果我们从启动 函数或其他函数中传递它,这并不重要。
在这种情况下,我在double GetPriceToInput(int signal) 函数中声明了变量,并将在同一个double GetPriceToInput(int signal) 函数中声明的priceForSell 和priceForBuy 变量通过引用传递到bool Trade(int signal, double& priceForBuy, double& priceForSell) 函数。
我把这个函数添加到启动 函数中,看到它们在那里已经是未定义的。我想知道如何修复它。
当然,我可以像你说的那样,在开始时 一次性声明这2个变量,但我可以直接从Double GetPriceToInput(int signal) 函数中 传递 它们。 这就是我的意思。
我的意思是,如果我们从启动 函数或其他函数中传递它们,这并不重要。
在这种情况下,我在double GetPriceToInput(int signal) 函数中声明了变量,并将在同一个double GetPriceToInput(int signal) 函数中声明的变量priceForSell 和priceForBuy 通过引用传递到bool Trade(int signal, double& priceForBuy, double& priceForSell) 函数。
我把这个函数添加到启动 函数中,看到它们在那里已经是未定义的。我想了解如何解决这个问题。
你在哪里传递了它们,为什么你在没有传递它们的地方赋值?
你在哪里传递它们,在哪里给它们赋值?
好吧,我在函数double GetPriceToInput(int signal) 中得到了变量的值。
在这里。
double priceForSell = secondBarClosed - deltaForSell;
double priceForBuy = secondBarClosed + deltaForBuy;
我返回这些值。
return(priceForSell);
return(priceForBuy);
也就是说,这些值已经被函数返回了。
然后我把这些值通过引用发送到函数bool Trade(int signal, double& priceForBuy, double& priceForSell)。
这是很明显的!
也就是说,这些值已经被函数返回了。
好吧,我在函数double GetPriceToInput(int signal) 中得到了变量的值。
在这里。
我返回这些值。
也就是说,这些值已经被函数返回了。
然后我把这些值通过引用发送到函数bool Trade(int signal, double& priceForBuy, double& priceForSell)。
这里的一切都很清楚!
只是读了一本教科书。特别是,请阅读关于变量范围的 章节。并从简单的例子开始。
SZS 看来你需要从编程的基础知识开始。
Reshetov:
它在哪里返回,也就是说,确切地显示出这些变量值在代码中哪里被函数返回?如果一个函数不是通过引用传递给它的,它怎么能返回一个以上的值呢?
说实话,我已经完全糊涂了。我甚至没有任何例子来看看别人是怎么做的。
我的理解是,除了获取数值之外,你还必须将它们分配给其他一些变量?
只需阅读课本。特别是阅读关于变量范围的部分。并从一些简单的例子开始。
看来你需要从编程的基础知识开始。
我不需要基本的东西。我很清楚可变的能见度。教科书中没有关于通过引用传递变量值的内容。你为什么要送我去那里?你在嘲笑我吗?
hoz:
我不需要基本的东西。我很清楚可变视力的问题。教科书中没有关于通过引用传递变量值的内容。你为什么要送我去那里?你在跟我开玩笑吗?
那么再见了。教导一个科学家是没有用的。所以我们不要嘲笑你,如果你已经全身心投入工作。 。
为什么要马上把你送走?教科书中没有任何关于参数转移的链接。 为什么我要把同样的东西读100遍? 我问了一个具体问题。我已经把课本读了很多遍。我今天看了一下,里面没有任何关于通过引用来转移 参数的内容!我想,这就是为什么我在这里说 "我 "的意思。