MT5程序代碼講解之——旋轉的時間
作者:MT4 來源:cxh99.com 發布時間:2012年05月05日
- MT5程序代碼講解之——旋轉的時間
//+-----------------------------------------------------+
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()函數。這樣不用象 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運行后會在不同位置,不斷變換大小、角度、顏色來顯示三種形式的時間。
代碼講解:bcsunwww
MetaQuotes 官方網站俄文原文地址:http://codebase.mql4.com/ru/6023
[ 此帖被bcsunwww在2009-10-02 09:07重新編輯 ]