是否有可能避免在条件中出现许多 "或"(||)造成相同的动作? - 页 4 12345678910 新评论 Alexey Subbotin 2013.02.10 19:11 #31 borilunad:最复杂的计算不会像检查各种必要的市场数据和每一个刻度的未平仓头寸的功能那样慢下来。神圣的真理,MarketInfo是最糟糕的测试问题之一。如果可能的话,我通常对这种情况分两块写,只对真实交易模式进行 "真实 "查询。例如,这对未测量的(在测试者)数据特别有效。int spread; int init() { ... if(IsTesting()) { spread = MarketInfo(Symbol(),MODE_SPREAD); } ... } int start() { ... if (!IsTesting()) { spread = MarketInfo(Symbol(),MODE_SPREAD); } ... } 你也可以在块if(!IsTesting())中发送各种RefreshRates(),对MODE_BID和MODE_ASK的查询(用快速Bid和Ask替换)等等。 Boris 2013.02.10 19:26 #32 alsu:神圣的真理,MarketInfo是最糟糕的测试问题之一。如果可能的话,我通常对这种情况分两块写,只对真实交易模式进行 "真实 "查询。例如,这对未测量的(在测试者)数据特别有效。你也可以在块if(!IsTesting())中发送各种RefreshRates(),对MODE_BID和MODE_ASK的查询(用快速Bid和Ask替换)等等。 我指的不是我在启动之初的MarketInfo函数,而是检查市场的各种参数和采取行动的必要条件中规定的未结头寸 的函数。此外,我不需要MODE_BID和MODE_ASK,因为我总是使用Bid和Ask。 Boris 2013.02.10 20:29 #33 pako: 非常感谢你,帕科!我怎么没猜到,这太简单了!我现在要吃晚饭,做我能做的事,并检查通道的速度。 而这一点我不明白你的意思。你从哪里得到这些数字的?而如果你对短的变量名称感兴趣,我更喜欢短的,而不是长的。或者还有什么?是的,刚刚注意到你在我的公式中,在clo之前和clo之后的最后加了两个括号。这根本没有必要,它扰乱了计算。但还是要感谢你们! <---- 10,444 = 8,087 > 3,908是什么语言? 做了,检查了,成功了,但结果还没有让我满意,实际上并没有减少跑步的时间!明天我将尝试做我能做的一切,也许那时会有一些不同。 但无论如何,最主要的是,感谢你、Pako、Aleksey、Victor和其他人,我学到了另一种重要的代码编写方法,对此我非常感激 Igor Chemodanov 2013.02.11 07:33 #34 在这种情况下,我使用一个函数。比如说。... if (Request()) Action; bool Request() { if (A) return(true); if (B) return(true); if (C) return(true); if (D) return(true); return(false); } Alexey Subbotin 2013.02.11 08:05 #35 borilunad: 我总是使用出价和要价。 那么你确实需要 RefreshRates()) Boris 2013.02.11 08:10 #36 icas: 在这种情况下,我使用一个函数。 比如说。 根据我的理解,你可以选择满足所有的条件,而对我来说,只有一个条件就足够了,即使满足更多的条件,也不太可能,因为它们是非常不同的,也不会走到那一步,因为有一个条件会被触发。如果我说错了,请说明理由!我总是很高兴听到一些新的东西。谢谢! Boris 2013.02.11 08:16 #37 alsu: 那么你确实需要 RefreshRates()) 是的,我在开始时有RefreshRates(),还是这还不够? Alexey Subbotin 2013.02.11 08:32 #38 borilunad: 是的,我在开始时有RefreshRates(),还是这还不够? 这完全取决于计算需要多长时间来执行。可能会出现这样的情况,在这段时间内,价格已经更新,因此Ask和Bid变得无关紧要。因此,最好在执行交易 之前(更确切地说,在计算交易价格之前)额外调用RefreshRates()。 PapaYozh 2013.02.11 08:37 #39 borilunad: 是的,我在开始时有RefreshRates(),还是这还不够? 在Start开始时使用RefreshRates是没有意义的,因为Ask和Bid还没有被淘汰。 Boris 2013.02.11 09:26 #40 alsu: 这完全取决于计算需要多长时间来运行。可能会出现这样的情况:价格在这段时间内已经更新,因此Ask和Bid变得无关紧要。这就是为什么在执行交易(或者说,在为交易计算价格之前)之前,最好额外调用RefreshRates()。 所以你需要在每一系列条件之前使用RefreshRates()? 因为我以为在每个执行函数中也有RefreshRates(),它检查错误,重复顺序,这就足够了。那我就试试放更多的RefreshRates(),看看会发生什么。谢谢! 我也要感谢Pap'e Yozh! 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
borilunad:
最复杂的计算不会像检查各种必要的市场数据和每一个刻度的未平仓头寸的功能那样慢下来。
神圣的真理,MarketInfo是最糟糕的测试问题之一。如果可能的话,我通常对这种情况分两块写,只对真实交易模式进行 "真实 "查询。例如,这对未测量的(在测试者)数据特别有效。
你也可以在块if(!IsTesting())中发送各种RefreshRates(),对MODE_BID和MODE_ASK的查询(用快速Bid和Ask替换)等等。
神圣的真理,MarketInfo是最糟糕的测试问题之一。如果可能的话,我通常对这种情况分两块写,只对真实交易模式进行 "真实 "查询。例如,这对未测量的(在测试者)数据特别有效。
你也可以在块if(!IsTesting())中发送各种RefreshRates(),对MODE_BID和MODE_ASK的查询(用快速Bid和Ask替换)等等。
非常感谢你,帕科!我怎么没猜到,这太简单了!我现在要吃晚饭,做我能做的事,并检查通道的速度。
而这一点我不明白你的意思。你从哪里得到这些数字的?而如果你对短的变量名称感兴趣,我更喜欢短的,而不是长的。或者还有什么?是的,刚刚注意到你在我的公式中,在clo之前和clo之后的最后加了两个括号。这根本没有必要,它扰乱了计算。但还是要感谢你们!
<---- 10,444 = 8,087 > 3,908是什么语言?
做了,检查了,成功了,但结果还没有让我满意,实际上并没有减少跑步的时间!明天我将尝试做我能做的一切,也许那时会有一些不同。
但无论如何,最主要的是,感谢你、Pako、Aleksey、Victor和其他人,我学到了另一种重要的代码编写方法,对此我非常感激
在这种情况下,我使用一个函数。
比如说。
我总是使用出价和要价。
那么你确实需要 RefreshRates())
在这种情况下,我使用一个函数。
比如说。
那么你确实需要 RefreshRates())
是的,我在开始时有RefreshRates(),还是这还不够?
是的,我在开始时有RefreshRates(),还是这还不够?
这完全取决于计算需要多长时间来运行。可能会出现这样的情况:价格在这段时间内已经更新,因此Ask和Bid变得无关紧要。这就是为什么在执行交易(或者说,在为交易计算价格之前)之前,最好额外调用RefreshRates()。
所以你需要在每一系列条件之前使用RefreshRates()? 因为我以为在每个执行函数中也有RefreshRates(),它检查错误,重复顺序,这就足够了。那我就试试放更多的RefreshRates(),看看会发生什么。谢谢!
我也要感谢Pap'e Yozh!