這個(gè)需求和時(shí)間有關(guān)系兢哭,想到了 TimeLocal() ,TimeCurrent() 夫嗓,Time[0] 迟螺。
具體說明
TimeLocal() :本機(jī)電腦的時(shí)間。如:TimeLocal: 2019.02.25 11:22:42 舍咖。和 TimeCurrent()差 6 個(gè)小時(shí)矩父。
TimeCurrent() :服務(wù)器的時(shí)間。如:TimeCurrent: 2019.02.25 05:22:42 排霉。
Time[0] :是0號(hào)K線的開盤時(shí)間窍株。如:2019年2月25日05時(shí)0分0秒0毫秒
方案一:使用 TimeCurrent
每次心跳,取 TimeCurrent 時(shí)間攻柠,分別取出 分鐘和秒數(shù) 球订。
int m=TimeMinute(TimeCurrent());
int s=TimeSeconds(TimeCurrent());
if(m==0 && s==0)
{
return "在整點(diǎn),可以往 下進(jìn)行";
}
問題:EA交易測(cè)試中瑰钮,發(fā)現(xiàn) TimeLocal() 和 TimeCurrent() 相同冒滩。
假設(shè)在 整點(diǎn) (0分0秒)時(shí),沒有心跳進(jìn)入飞涂,就不能觸發(fā) EA 業(yè)務(wù)旦部。
總結(jié):此方案不可以用。
//////////////
方案二:使作Time[0]
每次心跑较店,取Time[0]時(shí)間士八,分別取出分和秒。
int m=TimeMinute(Time[0]);
int s=TimeSeconds(Time[0]);
if(m==0 && s==0)
{
return "有新的K線生成梁呈,可以往下進(jìn)行";
}
問題: 每次心跳時(shí)入時(shí)婚度,Time[0] 的開盤時(shí)間 ,都是相同的。
如 看H1圖蝗茁,每次Time[0]進(jìn)入 的時(shí)間醋虏,都是 19.02.25 05:00 。
結(jié)決:用全局變量 記錄 datetime t=0;
作用: 每根k線只運(yùn)行一次哮翘,記錄每次Time[0] (是每次的開盤時(shí)間)颈嚼。作用和每次心跳比較,相同時(shí)不運(yùn)行饭寺。
此方案不用擔(dān)心 在整點(diǎn)時(shí)阻课,沒有心跳進(jìn)入,而不觸發(fā)EA艰匙。