包括周末在内的计数条 - 页 3 123456789 新评论 Dmitry Fedoseev 2020.04.26 06:36 #21 Igor Makanu: 复杂的是,日期之间有一个以秒为单位的时间(datetime)--这足以计算出其中24小时的整日数,每小时60分钟,每分钟60秒,.... google来帮助 如果我们说的是一种扭曲的计数方式,你可以这样做。 你可以像你建议的那样,计算每个条形图并找出当前和前一个条形图之间是否有一个周末....,一般来说,在这里,使任务复杂化的可能性受限于欲望))))。 我们应该首先假设时间间隔在0:0开始和结束。 Igor Makanu 2020.04.26 06:44 #22 Dmitry Fedoseev: 我们必须先假设时间间隔在0:0开始和结束。 在我的例子中,这个假设是不需要的,但我们需要假设计算是在一个日历年内。 第一个帖子里有一个解决方案,另外,在 "只有来自kimiw的有用的代码,我想我已经看到了 "这个话题里应该有另一个解决方案。 Dmitry Fedoseev 2020.04.26 06:45 #23 Igor Makanu: 在我的例子中,这个假设是不需要的,但我们需要假设计算是在一个日历年内。 第一篇文章中的解决方案,作为一个选项--在这个主题中应该有另一个解决方案 只有KimIV的有用代码,我想我看到了 需要计算的不仅仅是天数,还有工作日或周末。 Igor Makanu 2020.04.26 06:49 #24 Dmitry Fedoseev:需要计算的不仅仅是天数,还有工作日或周末。这很难说,问题的措辞是模糊的。forex2030。 你如何知道各点之间有多少个周末,例如在D1上,然后把它们加到所需的条上? 如果按照你的措辞,那么在循环中复制CopyTime() 日线并分析周末,但如何处理周末?- 它说它要添加它们? Dmitry Fedoseev 2020.04.26 06:52 #25 Igor Makanu: 这很难说,问题的措辞是模糊的。... 歧义在哪里:"你如何找出 例如D1上各点之间有多少产出,以便将它们加入所需的条形图中?" 为什么需要这样做是另一个问题。 Dmitry Fedoseev 2020.04.26 07:14 #26 int WorkingDays(datetime startDate,datetime endDate){ int d=int((endDate-startDate)/86400); int m[7,7]={ {0, 0,1,2,3,4,5}, // воскр {0, 1,2,3,4,5,5}, // понед {0, 1,2,3,4,4,4}, // вторн {0, 1,2,3,3,3,4}, // среда {0, 1,2,2,2,3,4}, // четв {0, 1,1,1,2,3,4}, // пятн {0, 0,0,1,2,3,4} // субб }; return (d/7)*5+m[(int)TimeDayOfWeek(startDate)][d%7]; } 似乎检查过了,似乎很好。检查一下,如果你不是太懒的话。 Igor Makanu 2020.04.26 07:18 #27 Dmitry Fedoseev: 歧义在哪里:" 你怎么知道 在例如D1的 点之间有多少输出,以便你能把它们加到你想要的条上?" 为什么会有这样的需要是另一个问题。 我想,如果我们再聊几个小时,我们就会开始评估这个问题,两个酒吧之间可以有多少输出....。而且肯定总是有一种对应关系,即在星期一到来之前是星期天? ))))) 通过减去日期时间来纠正天数的计算,我认为这段代码对所有情况都有效。 input datetime d_start = D'2020.01.01 12:30:27'; input datetime d_stop = D'2020.02.01'; //+------------------------------------------------------------------+ void OnStart() { const int day_in_sec = 24 * 60 * 60; datetime d_corect1 = d_start - d_start % day_in_sec; datetime d_corect2 = d_stop - d_stop % day_in_sec; int result = (int)((d_corect2 - d_corect1) / day_in_sec); printf("всего %i дней ", result); } //+------------------------------------------------------------------+ Alexey Viktorov 2020.04.26 07:28 #28 forex2030: 按日期 对于第一点,我补充说,酒吧 然后计算这些日期之间的条数。 int Bars( string symbol_name, // имя символа ENUM_TIMEFRAMES timeframe, // период datetime start_time, // с какой даты datetime stop_time // по какую дату ); 你得到的数量少于你设定的条数。你设定的条数和你得到的条数之间的差异是休息日的数量。因此,我们可以得到任何周期的条数,甚至是一分钟周期的条数。只要仔细检查一下这个函数返回了多少个条形。两条外杠或其中一条都将被考虑。我不太记得了,但似乎这两个人都被考虑在内。 Dmitry Fedoseev 2020.04.26 07:35 #29 Alexey Viktorov: 然后计算这些日期之间的条数。 你得到的数量少于给定的条数。给出的条数和收到的条数之间的差额就是休息天数。因此,我们可以得到任何周期的条数,甚至是一分钟周期的条数。只要仔细检查一下这个函数返回了多少个条形。两条外杠或其中一条都将被考虑。我不太记得了,但似乎这两个人都被考虑在内。 谈一谈还没有酒吧的日期。 Igor Makanu 2020.04.26 07:40 #30 为了以防万一,我将添加一个例子--它计算出缺了多少个小节 input datetime d_start = D'2020.01.01 12:30:27'; input datetime d_stop = D'2020.02.01'; //+------------------------------------------------------------------+ void OnStart() { const int day_in_sec = 24 * 60 * 60; datetime d_corect1 = d_start - d_start % day_in_sec; datetime d_corect2 = d_stop - d_stop % day_in_sec; int result = (int)((d_corect2 - d_corect1) / day_in_sec); printf("всего %i дней ", result); datetime t_arr[]; int allbarD1 = CopyTime(_Symbol, PERIOD_D1, d_start, d_stop, t_arr); if(allbarD1 < 0) { printf("Error CopyTime() func № %i", GetLastError()); return; } printf("Всего выходных % i дней", result - allbarD1); } //+------------------------------------------------------------------+ 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
复杂的是,日期之间有一个以秒为单位的时间(datetime)--这足以计算出其中24小时的整日数,每小时60分钟,每分钟60秒,.... google来帮助
如果我们说的是一种扭曲的计数方式,你可以这样做。
你可以像你建议的那样,计算每个条形图并找出当前和前一个条形图之间是否有一个周末....,一般来说,在这里,使任务复杂化的可能性受限于欲望))))。
我们应该首先假设时间间隔在0:0开始和结束。
我们必须先假设时间间隔在0:0开始和结束。
在我的例子中,这个假设是不需要的,但我们需要假设计算是在一个日历年内。
第一个帖子里有一个解决方案,另外,在 "只有来自kimiw的有用的代码,我想我已经看到了 "这个话题里应该有另一个解决方案。
在我的例子中,这个假设是不需要的,但我们需要假设计算是在一个日历年内。
第一篇文章中的解决方案,作为一个选项--在这个主题中应该有另一个解决方案 只有KimIV的有用代码,我想我看到了
需要计算的不仅仅是天数,还有工作日或周末。
需要计算的不仅仅是天数,还有工作日或周末。
这很难说,问题的措辞是模糊的。
你如何知道各点之间有多少个周末,例如在D1上,然后把它们加到所需的条上?
这很难说,问题的措辞是模糊的。
...歧义在哪里:"你如何找出 例如D1上各点之间有多少产出,以便将它们加入所需的条形图中?"
为什么需要这样做是另一个问题。
似乎检查过了,似乎很好。检查一下,如果你不是太懒的话。
歧义在哪里:" 你怎么知道 在例如D1的 点之间有多少输出,以便你能把它们加到你想要的条上?"
为什么会有这样的需要是另一个问题。
我想,如果我们再聊几个小时,我们就会开始评估这个问题,两个酒吧之间可以有多少输出....。而且肯定总是有一种对应关系,即在星期一到来之前是星期天?
)))))
通过减去日期时间来纠正天数的计算,我认为这段代码对所有情况都有效。
按日期
对于第一点,我补充说,酒吧
然后计算这些日期之间的条数。
你得到的数量少于你设定的条数。你设定的条数和你得到的条数之间的差异是休息日的数量。因此,我们可以得到任何周期的条数,甚至是一分钟周期的条数。只要仔细检查一下这个函数返回了多少个条形。两条外杠或其中一条都将被考虑。我不太记得了,但似乎这两个人都被考虑在内。然后计算这些日期之间的条数。
你得到的数量少于给定的条数。给出的条数和收到的条数之间的差额就是休息天数。因此,我们可以得到任何周期的条数,甚至是一分钟周期的条数。只要仔细检查一下这个函数返回了多少个条形。两条外杠或其中一条都将被考虑。我不太记得了,但似乎这两个人都被考虑在内。谈一谈还没有酒吧的日期。
为了以防万一,我将添加一个例子--它计算出缺了多少个小节