初学者的问题 MQL5 MT5 MetaTrader 5 - 页 535 1...528529530531532533534535536537538539540541542...1503 新评论 Mikhail Tkachev 2016.03.08 17:04 #5341 Karputov Vladimir:所以,你需要马上说明这样的要求 :) 。情况如下:如果图表中存在一个条形图,它对应于指标缓冲区 中的一个单元。只要你不在这个单元格中写东西,它就会储存垃圾。 为什么在MT4中不是垃圾,而只是在这个栏下不显示指标? Aleksey Vyazmikin 2016.03.08 19:58 #5342 Aleksey Lebedev:当你除以整数(int,long,datetime等)时,结果是一个整数,也就是说,余数被丢弃。今天00:00和昨天23:59:59,差异将是1天。首先它不是--它在实验中被证明是指标。第二,鉴于我们最初是以秒为单位计算的,你是如何得到1的--从数学上告诉我。 Aleksey Vyazmikin 2016.03.09 12:35 #5343 Alexey Kozitsyn: 与简单类型的归零方式完全相同。一旦所需的字段被分配了一个 0的值--使用反向操作StructToTime()。归零了。MqlDateTime str1; datetime Open_timePos=iTime(_Symbol,0,pos); TimeToStruct(Open_timePos,str1); str1.hour=0; str1.min=0; str1.sec=0; datetime start_time=StructToTime(str1); Print("день=",TimeToStr(start_time)); 一切都成功了--谢谢你! Aleksey Lebedev 2016.03.09 15:03 #5344 Aleksey Lebedev: При делении целых чисел(int,long,datetime и т.п.) результат целое число, т.е. остаток отбрасывается. 00:00 сегодня и 23:59:59 вчера, разность будет равна 1дню.-Aleks-。首先它不是--在实验中证明的指标。不要与基础知识争论)。-Aleks-。第二,你是如何得到1的--从数学上告诉我,鉴于最初我们有以秒为单位的计算。datetime today=D'2016.03.09 00:00:00'; datetime yesterday=D'2016.03.08 23:59:59'; Print("today=",86400*(today/86400)," value=",int(today)); Print("yesterday=",86400*(yesterday/86400)," value=",int(yesterday)); Print("разница в днях = ",int(today/86400-yesterday/86400));使用通过结构转换,如果它更容易理解。 Aleksey Vyazmikin 2016.03.09 15:14 #5345 Aleksey Lebedev:不要挑战基础知识)如果更容易理解,就使用结构转换。所了解的是已经处理过的事情。我没有试过你的代码运行,但我认为是你自己做的,所以向我这个不懂的人解释一下它是如何工作的。86401/86400-86400/86400等于1,如果按照数学规则1.000012-1=0.000012 ,int应该四舍五入到整数,即0。 Aleksey Lebedev 2016.03.09 15:48 #5346 -Aleks-:所了解的是已经处理过的事情。我没有试过你的代码运行,但我想你已经自己做了,所以向我这个不懂的人解释一下它是如何工作的。86401/86400/86400等于1,如果根据数学规则1.000012-1=0.000012 ,int应该四舍五入到整数,即0。但要做到这一点)一天的开始时间00:00:00除以86400没有余数,前一个至少少1秒。四舍五入--除法的剩余部分被丢弃,而不是整个表达式。86400/86400=186399/86400=0 Aleksey Vyazmikin 2016.03.09 19:03 #5347 Aleksey Lebedev:然后运行它)一天的开始时间00:00:00除以86400没有余数,前一个至少少1秒。四舍五入--除法的剩余部分被丢弃,而不是整个表达式。86400/86400=186399/86400=0 所以我很惊讶这种奇特的四舍五入发生在表达式中--我以为当变量被赋值时,小数点后的数值会被丢弃。 Vladimir Tkach 2016.03.12 11:12 #5348 伙计们!是否有可能以编程方式在图表上显示该指标?还是只能用手? [删除] 2016.03.12 11:30 #5349 Vladimir Tkach: 伙计们!是否有可能以编程方式在图表上显示该指标?还是只能用手? 你可以这样做https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd Документация по MQL5: Операции с графиками / ChartIndicatorAdd www.mql5.com Операции с графиками / ChartIndicatorAdd - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Vladimir Tkach 2016.03.12 12:23 #5350 是在mql5中,还是在mql4中? 1...528529530531532533534535536537538539540541542...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
所以,你需要马上说明这样的要求 :) 。
情况如下:如果图表中存在一个条形图,它对应于指标缓冲区 中的一个单元。只要你不在这个单元格中写东西,它就会储存垃圾。
当你除以整数(int,long,datetime等)时,结果是一个整数,也就是说,余数被丢弃。今天00:00和昨天23:59:59,差异将是1天。
首先它不是--它在实验中被证明是指标。
第二,鉴于我们最初是以秒为单位计算的,你是如何得到1的--从数学上告诉我。
与简单类型的归零方式完全相同。一旦所需的字段被分配了一个 0的值--使用反向操作StructToTime()。
归零了。
MqlDateTime str1;
datetime Open_timePos=iTime(_Symbol,0,pos);
TimeToStruct(Open_timePos,str1);
str1.hour=0;
str1.min=0;
str1.sec=0;
datetime start_time=StructToTime(str1);
Print("день=",TimeToStr(start_time));
Aleksey Lebedev:
При делении целых чисел(int,long,datetime и т.п.) результат целое число, т.е. остаток отбрасывается. 00:00 сегодня и 23:59:59 вчера, разность будет равна 1дню.
-Aleks-。
首先它不是--在实验中证明的指标。
不要与基础知识争论)。
-Aleks-。
第二,你是如何得到1的--从数学上告诉我,鉴于最初我们有以秒为单位的计算。
使用通过结构转换,如果它更容易理解。
不要挑战基础知识)
如果更容易理解,就使用结构转换。
所了解的是已经处理过的事情。我没有试过你的代码运行,但我认为是你自己做的,所以向我这个不懂的人解释一下它是如何工作的。
86401/86400-86400/86400等于1,如果按照数学规则1.000012-1=0.000012 ,int应该四舍五入到整数,即0。
所了解的是已经处理过的事情。我没有试过你的代码运行,但我想你已经自己做了,所以向我这个不懂的人解释一下它是如何工作的。
86401/86400/86400等于1,如果根据数学规则1.000012-1=0.000012 ,int应该四舍五入到整数,即0。
但要做到这一点)
一天的开始时间00:00:00除以86400没有余数,前一个至少少1秒。四舍五入--除法的剩余部分被丢弃,而不是整个表达式。
86400/86400=1
86399/86400=0
然后运行它)
一天的开始时间00:00:00除以86400没有余数,前一个至少少1秒。四舍五入--除法的剩余部分被丢弃,而不是整个表达式。
86400/86400=1
86399/86400=0
伙计们!是否有可能以编程方式在图表上显示该指标?还是只能用手?