請教高手前輩們

 
//======以下是控時可下單時間的程式===============================================
         MqlDateTime stm;
         TimeLocal(stm);
            if(((stm.day_of_week==1||stm.day_of_week==2||stm.day_of_week==3||stm.day_of_week==4||stm.day_of_week==5)
               && stm.hour>=14 && stm.hour<=22))
               //以上是控制在14:00 至 23:00 時段內才可以進場
               {
                  OnTimer();

               }


這樣的語法有錯嗎?  當天執行都沒有問題  但是到了隔天就不會自動執行了!  是不是少了表頭文或是少宣告什麼東西   請指教!! 系統是 win7

 
回测调试下就知道了。
 
HsinFu:
//======以下是控時可下單時間的程式===============================================
         MqlDateTime stm;
         TimeLocal(stm);
            if(((stm.day_of_week==1||stm.day_of_week==2||stm.day_of_week==3||stm.day_of_week==4||stm.day_of_week==5)
               && stm.hour>=14 && stm.hour<=22))
               //以上是控制在14:00 至 23:00 時段內才可以進場
               {
                  OnTimer();

               }


這樣的語法有錯嗎?  當天執行都沒有問題  但是到了隔天就不會自動執行了!  是不是少了表頭文或是少宣告什麼東西   請指教!! 系統是 win7

ontimer()不是这么用的吧

 
現在更麻煩了。 程式只有跑2~3小時就停止工作了
 

HsinFu:
現在更麻煩了。 程式只有跑2~3小時就停止工


干嘛非得用ontimer?你如果想短时间间隔运行 用sleep不也可以码?

 
HsinFu:
//======以下是控時可下單時間的程式===============================================
         MqlDateTime stm;
         TimeLocal(stm);
            if(((stm.day_of_week==1||stm.day_of_week==2||stm.day_of_week==3||stm.day_of_week==4||stm.day_of_week==5)
               && stm.hour>=14 && stm.hour<=22))
               //以上是控制在14:00 至 23:00 時段內才可以進場
               {
                  OnTimer();

               }


這樣的語法有錯嗎?  當天執行都沒有問題  但是到了隔天就不會自動執行了!  是不是少了表頭文或是少宣告什麼東西   請指教!! 系統是 win7

建议您查阅迈达克MT5客户端里的文章资料,里面有一篇关于时间的各种计算方法,也有可以使用的代码范例,范例代码还可以进行优化计算的哦,祝你好运。
原因: