新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1116 1...110911101111111211131114111511161117111811191120112111221123...1953 新评论 Artyom Trishkin 2020.04.09 19:47 #11151 Roman: 帮助说应该返回时间框架值,而不是用EnumToString() 转换的标识符_Period变量返回int。 ENUM_TIMEFRAMES Period()也意味着会返回int。 你是唯一一个暗示它的人。实际上Period()返回enum_TIMEFRAMES 的值。 如果你打印出这个枚举中常量的值,你会看到你已经熟悉的数字。 而且一直都是这样。自从MQL5诞生以来,就一直是这样。 而且在帮助中清楚地写明了什么是返回。 值可以是 枚举 ENUM_TIMEFRAMES 中的一个值 。 Документация по MQL5: Проверка состояния / Period www.mql5.com Проверка состояния / Period - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Roman 2020.04.09 20:00 #11152 Artyom Trishkin: 你是唯一一个暗示这一点的人。事实上,Period()返回ENUM_TIMEFRAMES 枚举的值。 如果你打印出这个枚举中常量的值,你会看到你已经熟悉的数字。 而且一直都是这样。自从MQL5诞生以来,就一直是这样。 而且在帮助中清楚地写明了什么是返回。 你认为 ENUM 枚举返回的是什么类型?) 而该参考文献明确指出返回当前图表的时间框架值。 自行打印 Print(PERIOD_M30); Print(PERIOD_H1); Artyom Trishkin 2020.04.09 20:11 #11153 Roman: 而ENUM枚举,你认为它返回什么类型?) 而参考文献中明确说到返回当前图表的时间框架值。 打印你自己的。 你想向我证明什么? 我完全了解正在打印的内容和正在返回的数据,何时何地。 你想知道当前时段的分钟数? 以这种方式获得。 PeriodSeconds(Period())/60; 或像这样。 PeriodSeconds(PERIOD_CURRENT)/60; 或者像这样。 PeriodSeconds()/60; Roman 2020.04.09 20:14 #11154 Artyom Trishkin: 你想向我证明什么? 对你来说没有什么,我没有给你写过问题,我写给了开发商。 在M30和H1上多印一些,看看有什么不同。 Print(_Period); Artyom Trishkin 2020.04.09 20:16 #11155 Roman: 你不关心,我没有给你写问题,我写给了开发商。 在M30和H1上多印一些,看看有什么不同。 这不是一个问题。它从来都不是。 关于交易、自动交易系统和交易策略测试的论坛 虫子,虫子,问题 Artyom Trishkin, 2020.04.09 22:11 你想证明什么? 我对打印的内容和返回的数据、时间和地点有很好的理解。 你想知道当前时段的分钟数? 以这种方式获得它们。 PeriodSeconds(Period())/60; 或像这样。 PeriodSeconds(PERIOD_CURRENT)/60; 或像这样。 PeriodSeconds()/60; Artyom Trishkin 2020.04.09 20:19 #11156 Roman: 你不必这样做,我没有把问题写给你,我是写给开发者的。 在M30和H1上多印一些,看看有什么不同。 你就不能离开MQL4吗? 在MQL4中这样做。 PeriodSeconds(Period())/60; 或像这样。 PeriodSeconds(PERIOD_CURRENT)/60; 或者像这样。 PeriodSeconds()/60; 并打印出结果值。 Roman 2020.04.09 20:24 #11157 Artyom Trishkin: 你就不能离开MQL4吗? 在MQL4中这样做。 或像这样。 或像这样。 并打印出结果值。 我没有用过mql4 )),我没有习惯它。 为什么要再除以60呢? 帮助中哪里说了? 这已经是你的拐杖绕过了错误。 现在检查一下你的拐杖,在所有的时间范围 内 Print(_Period / 60); Artyom Trishkin 2020.04.09 20:26 #11158 Roman: 我没有用过mql4 )),我没有习惯它。 为什么要再除以60呢? 帮助中哪里说了? 这已经是你的拐杖绕过了错误。 打脸... Igor Makanu 2020.04.09 20:41 #11159 Roman: 变量_Period和Period()功能,直到并包括M30的输出值,单位为分钟。 如果是M1时期,则为1 如果周期M2,那么2... 如果期间M30,那么30 符合逻辑的是,每小时的时间将是60分钟。 两小时的时间 120 三小时180 等。 但从H1开始,显示的是错误的数值。 如果程序输出 "错误的值",你需要看看程序的 "想法",但它只能以二进制格式思考。 我检查了一下,确实如此。 void OnStart() { ENUM_TIMEFRAMES allperiod[] = {PERIOD_CURRENT, PERIOD_M1, PERIOD_M2, PERIOD_M3, PERIOD_M4, PERIOD_M5, PERIOD_M6, PERIOD_M10, PERIOD_M12, PERIOD_M15, PERIOD_M20, PERIOD_M30, PERIOD_H1, PERIOD_H2, PERIOD_H3, PERIOD_H4, PERIOD_H6, PERIOD_H8, PERIOD_H12, PERIOD_D1, PERIOD_W1, PERIOD_MN1 }; for(int i = 0; i < ArraySize(allperiod); i++) Print(UintToBinary((uint)allperiod[i])); } //+------------------------------------------------------------------+ string UintToBinary(uint n) { string r = ""; if(n == 0) return("0"); while(n != 0) { r = (n % 2 == 0 ? "0" : "1") + r; n /= 2; } return(r); } //+------------------------------------------------------------------ 2020.04.10 00:38:57.118 tst (EURUSD,H1) 0 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1 2020.04.10 00:38:57.118 tst (EURUSD,H1) 10 2020.04.10 00:38:57.118 tst (EURUSD,H1) 11 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 101 2020.04.10 00:38:57.118 tst (EURUSD,H1) 110 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1010 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1111 2020.04.10 00:38:57.118 tst (EURUSD,H1) 10100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 11110 2020.04.10 00:38:57.118 tst (EURUSD,H1) 10000000001 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000010 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000011 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000110 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000001000 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1000000001100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000011000 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000001 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1100000000000001 Any questions from newcomers Avalanche 6.2 EuroX2.ex4有什么意见? Roman 2020.04.09 20:43 #11160 Artyom Trishkin: 打脸... 真的袖子... 在不同的时间范围内打印。 Print(_Period); 2020.04.09 23:39:49.963 VP (EPM20,M1) 1 2020.04.09 23:39:53.135 VP (EPM20,M3) 3 2020.04.09 23:39:53.758 VP (EPM20,M5) 5 2020.04.09 23:39:54.377 VP (EPM20,M10) 10 2020.04.09 23:39:55.094 VP (EPM20,M15) 15 2020.04.09 23:39:55.679 VP (EPM20,M30) 30 2020.04.09 23:39:56.384 VP (EPM20,H1) 16385 //Почему не 60 ? 2020.04.09 23:39:57.071 VP (EPM20,H4) 16388 //Почему не 240 ? 2020.04.09 23:39:57.641 VP (EPM20,D1) 16408 //Почему не 1440 ? 2020.04.09 23:39:58.181 VP (EPM20,W1) 32769 и т.д. 2020.04.09 23:39:58.768 VP (EPM20,MN1) 49153 1...110911101111111211131114111511161117111811191120112111221123...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
帮助说应该返回时间框架值,而不是用EnumToString() 转换的标识符
_Period变量返回int。
ENUM_TIMEFRAMES Period()也意味着会返回int。
你是唯一一个暗示它的人。实际上Period()返回enum_TIMEFRAMES 的值。
如果你打印出这个枚举中常量的值,你会看到你已经熟悉的数字。
而且一直都是这样。自从MQL5诞生以来,就一直是这样。
而且在帮助中清楚地写明了什么是返回。
值可以是 枚举 ENUM_TIMEFRAMES 中的一个值 。
你是唯一一个暗示这一点的人。事实上,Period()返回ENUM_TIMEFRAMES 枚举的值。
如果你打印出这个枚举中常量的值,你会看到你已经熟悉的数字。
而且一直都是这样。自从MQL5诞生以来,就一直是这样。
而且在帮助中清楚地写明了什么是返回。
你认为 ENUM 枚举返回的是什么类型?)
而该参考文献明确指出
返回当前图表的时间框架值。
自行打印
而ENUM枚举,你认为它返回什么类型?)
而参考文献中明确说到
返回当前图表的时间框架值。
打印你自己的。
你想向我证明什么?
我完全了解正在打印的内容和正在返回的数据,何时何地。
你想知道当前时段的分钟数?
以这种方式获得。
或像这样。
或者像这样。
你想向我证明什么?
对你来说没有什么,我没有给你写过问题,我写给了开发商。
在M30和H1上多印一些,看看有什么不同。
你不关心,我没有给你写问题,我写给了开发商。
在M30和H1上多印一些,看看有什么不同。
这不是一个问题。它从来都不是。
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
Artyom Trishkin, 2020.04.09 22:11
你想证明什么?
我对打印的内容和返回的数据、时间和地点有很好的理解。
你想知道当前时段的分钟数?
以这种方式获得它们。
或像这样。
或像这样。
你不必这样做,我没有把问题写给你,我是写给开发者的。
在M30和H1上多印一些,看看有什么不同。
你就不能离开MQL4吗?
在MQL4中这样做。
或像这样。
或者像这样。
并打印出结果值。
你就不能离开MQL4吗?
在MQL4中这样做。
或像这样。
或像这样。
并打印出结果值。
我没有用过mql4 )),我没有习惯它。
为什么要再除以60呢?
帮助中哪里说了?
这已经是你的拐杖绕过了错误。
现在检查一下你的拐杖,在所有的时间范围 内
我没有用过mql4 )),我没有习惯它。
为什么要再除以60呢?
帮助中哪里说了?
这已经是你的拐杖绕过了错误。
变量_Period和Period()功能,直到并包括M30的输出值,单位为分钟。
如果是M1时期,则为1
如果周期M2,那么2
...
如果期间M30,那么30
符合逻辑的是,每小时的时间将是60分钟。
两小时的时间 120
三小时180
等。
但从H1开始,显示的是错误的数值。
如果程序输出 "错误的值",你需要看看程序的 "想法",但它只能以二进制格式思考。
我检查了一下,确实如此。
2020.04.10 00:38:57.118 tst (EURUSD,H1) 0
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1
2020.04.10 00:38:57.118 tst (EURUSD,H1) 10
2020.04.10 00:38:57.118 tst (EURUSD,H1) 11
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 101
2020.04.10 00:38:57.118 tst (EURUSD,H1) 110
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1010
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1111
2020.04.10 00:38:57.118 tst (EURUSD,H1) 10100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 11110
2020.04.10 00:38:57.118 tst (EURUSD,H1) 10000000001
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000010
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000011
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000110
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000001000
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1000000001100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000011000
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000001
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1100000000000001
打脸...
真的袖子...
在不同的时间范围内打印。