MQL5编程MT5程序代码讲解 之 旋转的时间

2019-07-12 18:44:53 阅读 :
//+-----------------------------------------------------+ 

ytg_Time_exp.mq5 | 

//Copyright Yuriy Tokman | 

//yuriytokman@gmail.com | 

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

#property copyright "Yuriy Tokman" 

#property link "yuriytokman@gmail.com" 

#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运行后会在不同位置,不断变换大小、角度、颜色来显示三种形式的时间。 

本文标题:MQL5编程MT5程序代码讲解 之 旋转的时间 - MQL5编程学习
本文地址:http://www.0594trade.com/download/mql5/2488.html

相关文章

  • 外汇EA程序化交易的"圣杯"真的存在吗?

    记得最早接触外汇是2009年在美国留学的时候,虽然之前接触过股票,但是外汇的保证金交易还是感觉非常刺激。刚开始和大多数人一样,有过几天翻几倍的经历。当然也少不了n次爆仓的痛苦经历。自从开始交易外汇就阅读了大量的...

    2019-07-12 MQL5编程学习
  • MQL5变色线的画法(比MQL4更加简单)

    MQL5里有一种特殊指标数组“颜色数组”,他是和画线的指标数组配合使用的。通过对他的简单赋值可以使画出的线变色。首先要在指标头部定义里指定一条线对应的数组是要使用变色画线方式,指定方法是:#property indicator_...

    2019-07-12 MQL5编程学习
  • 深度解析外汇中的四种算法交易系统

    我国的外汇衍生品交易市场还没有完全开放,但是目前参与到外汇交易中的人群已经超过千万级的人数。  对于我国的金融市场而言,算法交易的应用也是刚刚起步。可是,算法交易在国际金融市场应用已经非常广...

    2019-07-12 MQL5编程学习
  • EA交易可靠吗?关于智能化自动交易的多方位解读

    关于外汇EA的种种及前因后果先行做个说明,以下尽量避免教科书式的解答。 1、智能交易的定义。但讽刺的是第一个话题就是我在网上搜的标准概念:由程序员借助一门计算机程序设计语言,通过编写程序交易指令、模拟人类交易员的行...

    2019-07-12 MQL5编程学习
  • 手把手教你如何挑选购买阿里云ECS云服务器

    一、点击进入阿里云官网,使用自己的支付宝或者淘宝账号进行登录,没有账号的先注册账号。二、购买前可先点击这里领取阿里云代金券,这样子在付款时便可以使用领取的代金券抵扣部分付款,从而节省不少成本。三、登录账户后,在...

    2019-07-12 MQL5编程学习
  • 程序化交易、算法交易和高频交易的关联性与区别

    很多投资者不太清楚程序化交易、算法交易、高频交易之间的关系,会对此产生一定的混淆,其实这三者之间是具有一定的关联性,也存在本质上的区别。那么什么是程序化交易、算法交易和高频交易呢?三者之间又有什么差别和联系?1...

    2019-07-12 MQL5编程学习
  • MT5编程实例课程(阿郎)第二讲:一键下单

    在第一讲中,我们通过一个简单的例子Lesson1,学习了如何通过MQL5编程在MT5图表上添加按钮、处理按钮点击事件以及弹出对话框等。在第二讲中,我们将会在Lesson1例子的基础上进行改进,开发一个可以在MT5图表上进行一键下单的...

    2019-07-12 MQL5编程学习
  • 有效控制外汇EA亏损和爆仓的方法

    随着越来越多的外汇投资者使用EA交易代替人工交易,对于外汇EA的风险控制了解也变得越来越重要,那么我们使用外汇EA时应该如何有效控制亏损和爆仓呢?...

    2019-07-12 MQL5编程学习
  • MQL5编程学习之MT5中的调试功能(Debug)应用

    MetaTrader发展到MT5版本后,虽然相比起专业化的开发工具还有一定距离,但终于初具一个现代化软件开发工具的雏形了,这其中在MetaEditor5中提供的Debug功能(调试功能)就是一个巨大的进步。涉足过MT4编程的朋友可能都有过痛苦...

    2019-07-12 MQL5编程学习
  • 什么是算法交易?算法交易的分类

    在量化交易中,根据各个算法交易中算法的主动程度不同,可以把算法交易分为被动型算法交易、主动型算法交易、综合型算法交易三大类。 被动型算法交易被动型算法交易除利用历史数据估计交易模型的关键参数外,不会根据市场...

    2019-07-12 MQL5编程学习
你可能感兴趣