当前位置:首页 > 量化|编程

【MT5】格式化显示时间函数 *天 *时 *分 *秒

2个月前 (11-17)量化|编程风控哥

具体步骤如下:

1.首先检查秒数是否小于等于0,如果是,则直接返回字符串"0"。

2.计算天数:将总秒数除以一天的秒数(24 * 3600)并取整。

3.计算剩余的小时数:取总秒数对一天的秒数取模,然后除以3600(一小时的秒数)并取整。

4.计算剩余的分钟数:取总秒数对一小时的秒数(3600)取模,然后除以60(一分钟的秒数)并取整。

5.计算剩余的秒数:取总秒数对60取模。

6.然后根据计算出的天数、小时、分钟和秒数构建一个字符串。如果某个单位的值大于0,则将其添加到结果字符串中,并且加上相应的单位(天、小时、分、秒)。

7.如果所有单位都是0(即总秒数为0),则返回"0秒"(但实际上前面已经判断了seconds<=0时返回"0",所以这里不会出现0秒的情况,除非seconds为0,但已经被返回了"0")。


函数一:

// 格式化时间显示
string FormatTime(double seconds)
{
if(seconds <= 0) return "0";

int days = (int)seconds / (24 * 3600);
int hours = ((int)seconds % (24 * 3600)) / 3600;
int mins = ((int)seconds % 3600) / 60;
int secs = (int)seconds % 60;

string result = "";
if(days > 0) result += IntegerToString(days) + "天 ";
if(hours > 0) result += IntegerToString(hours) + "小时 ";
if(mins > 0) result += IntegerToString(mins) + "分 ";
if(secs > 0 || result == "") result += IntegerToString(secs) + "秒";

return result;
}

函数二:

// 格式化持仓时间显示
string FormatHoldingTime(double seconds)
{
int days = (int)seconds / (24 * 3600);
int hours = ((int)seconds % (24 * 3600)) / 3600;
int mins = ((int)seconds % 3600) / 60;

return IntegerToString(days) + "天 " + IntegerToString(hours) + "小时 " + IntegerToString(mins) + "分钟";
}


标签: 量化编程
分享给朋友:

“【MT5】格式化显示时间函数 *天 *时 *分 *秒” 的相关文章

MQL4量化编程学习笔记(1)

MQL4量化编程学习笔记(1)

1、学习MQL4语言,要求我们必须有良好的逻辑思维能力并能清楚认知到自己与计算机逻辑的不同。2、学习量化编程还需要先从宏观上掌握组成EA交易程序的框架。3、学习量化编程还需要了解坐标系的概念。自动交易的执行是需要准确定位的,因此就必须建立起明晰坐标系的概念。…

海龟交易法则

海龟交易法则

海龟交易法则本质上是一个趋势追随系统,建仓点位是根据唐迁通道(Donchian Channel,也称唐奇安通道)而来,加上对交易品种的筛选和仓位的调整,使得本是低胜率的趋势系统能够实现正收益的结果。海龟交易法则通常应用于日线交易,但用于其他的交易周期也是可以的。海龟交易品种的要求市场的流动性足够好,…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。