您现在的位置: 比特财富网 >> 财经 >  >> 外匯
MQL5編程MT5程序代碼講解 之 旋轉的時間
外_匯_邦 WaiHuiBang.com //+-----------------------------------------------------+ 

ytg_Time_exp.mq5 | 

//Copyright Yuriy Tokman | 

//[email protected]

//+-----------------------------------------------------+ 

#property copyright "Yuriy Tokman" 

#property link "[email protected]

#property version "1.00" 

 

string obj_name = "ytg_Time"; 

int tick = 0, tyk = 0; 

string name ; 

//+----------------------------------------------------+ 

//|初始化函數(加載函數)| 

//+----------------------------------------------------+ 

int OnInit() 

//--- 

EventSetTimer(1);//設置時間觸發器,這正是MT5的新功能,每隔1秒觸發一次OnTimer()函數。www.emoneybtc.com這樣不用象 MT4那樣只靠tick數據觸發了。 

ChartRedraw();//刷新圖表 

//--- 

return(0); 

//+-----------------------------------------------------+ 

//|反初始化函數(卸載函數) | 

//+-----------------------------------------------------+ 

void OnDeinit() 

//--- 

ObjectDelete(0,obj_name);//退出時刪除物件。 

EventKillTimer();//如果在初始化函數中設置了EventSetTimer(),必須用這條語句在退出時取消時間觸發。 

ChartRedraw();//刷新圖表 

//+-------------------------------------------------+ 

//|實時函數 

//+------------------------------------------------+ 

void OnTimer() 

//--- 

tick ++; if(tick>10) tick = 0;//使tick在0至10之間變化。 

tyk ++; if(tyk>=30) tyk = 0; //使tyk在0至30之間變化。 

datetime t1 = TimeGMT();//GMT 是格林威治標准時間的英文縮寫,反回格林威治標准時間給 t1。 

datetime t2 = TimeCurrent();//返回最後訪問的服務器時間給 t2 。 

datetime t3 = TimeLocal(); //返回當前電腦時間給 t3。 

color colir;//設置顏色變量。 

 

if(tyk>=0 && tyk<10){name = TimeToString(t1,TIME_SECONDS)+" (GMT)";colir = Blue;}//對每30秒的前10秒設置文本內容和顏色。 

if(tyk>=10 && tyk<20){name = TimeToString(t2,TIME_SECONDS)+"(current)";colir = Lime;} //對每30秒的中間10秒設置文本內容和顏色。 

if(tyk>=20 && tyk<=30){name = TimeToString(t3,TIME_SECONDS)+"(local)";colir = Red;} //對每30秒的後10秒設置文本內容和顏色。 

 

//調用LABEL函數創建物件 

Label(obj_name, //物件名稱 

name, // 文本內容 

200+tick*10,//橫坐標在200至300像素之間變化 

150+tick*10, //縱坐標在150至250像素之間變化 

9+tick*3,//字體在9至39號之間變化 

36*tick,//角度在0至360度之間變化 

"Tahoma", 

colir); 

 

ChartRedraw(); 

 

void Label(string obj_name, //對象名稱 

string txt, // 文本內容 

int x, // 以像素為單位的橫坐標 

int y, // 以像素為單位的縱坐標 

int font_size, // 字體大小 

int angle, //物件角度 

string font, // 字體名稱 

color cir ) //字體顏色 

ObjectCreate(0,obj_name,OBJ_LABEL,0,0,0); 

//ObjectSetInteger(0,obj_name,OBJPROP_COLOR,DeepSkyBlue); 

ObjectSetString(0,obj_name,OBJPROP_TEXT,name); 

ObjectSetInteger(0,obj_name,OBJPROP_XDISTANCE,x); 

ObjectSetInteger(0,obj_name,OBJPROP_YDISTANCE,y); 

ObjectSetInteger(0,obj_name,OBJPROP_FONTSIZE,font_size); 

ObjectSetDouble(0,obj_name,OBJPROP_ANGLE,angle); 

ObjectSetString(0,obj_name,OBJPROP_FONT,font); 

ObjectSetInteger(0,obj_name,OBJPROP_COLOR,cir); 

這個EA運行後會在不同位置,不斷變換大小、角度、顏色來顯示三種形式的時間。 

外_匯_邦 WaiHuiBang.com
  風險提示:比特財富網的各種信息資料僅供參考,不構成任何投資建議,不對任何交易提供任何擔保,亦不構成任何邀約,不作為任何法律文件,投資人據此進行投資交易而產生的後果請自行承擔,本網站不承擔任何責任,理財有風險,投資需謹慎。
比特財富網 版權所有 © www.emoneybtc.com