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

2019-07-11 00:29:06 阅读 :
//+-----------------------------------------------------+ 

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程序代码讲解 之 旋转的时间 - 外汇智能交易编程
本文地址:http://www.newsqg.com/fxschool/autotrading/1060.html

相关文章

  • 外汇EA程序化交易系统设计心得体会

    投机就像山岳一般古老。毋庸费言,外汇零售市场的属性,必然会让国内的大多数外汇交易者,以中短期投机的方式居多,长期价值投资的偏少。而作为波动市场的王者,外汇市场给了手工交易和程序化交易最丰富的可能性,此种优势,其他市...

    2019-07-11 外汇智能交易编程
  • 不是EA不行,是你的EA不行

    还记得,几年前我在伦敦工作的时候,在寻找大量外汇EA测试都失败后,我问过我当时的老板Jay一个问题:“是不是市面上不存在稳定盈利的外汇EA?”。然后他给我的回答是“You can&rsquo;t say EA is not work because your EA is...

    2019-07-11 外汇智能交易编程
  • MT4 EA编程中常用的交叉概念的理解

    我们经常会遇到使用2条曲线交叉(金叉 死叉)的概念。那末在程序中是如何表达的呢。下面说明一下:如果2条曲线是真正的秘密麻麻的点组成的,那末我们一定可以找到 交叉的那一点。但是在K线图上,实际上曲线是由每个K线对应的数...

    2019-07-11 外汇智能交易编程
  • 外汇EA程序化交易的"圣杯"真的存在吗?

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

    2019-07-11 外汇智能交易编程
  • 外汇市场中最常见的四种外汇算法交易系统

    外汇市场中最常见的四种外汇算法交易系统 ​​​​​​​真正可用于外汇市场中的交易算法只有累积分配算法、达到价格算法、分段订单算法和时间加权平均价格算法四种。...

    2019-07-11 外汇智能交易编程
  • 如何选择盈利的外汇EA?其实只需看这四点

    外汇EA(Expert Advisor),即智能交易系统或交易机器人,常常用在外汇交易中。EA其实一开始是随着MT4交易平台引入进来的,如今在外汇交易市场中EA变得越来越火。国内各种免费和付费的EA更是多如牛毛。市场上EA太多,已经很难分...

    2019-07-11 外汇智能交易编程
  • 外汇EA入场主要使用什么交易策略?

    外汇EA如果进行细分,可以分为无数种,但是其入场策略按行情走势无非是以下三种: 1、突破交易:例如行情突破某一上方阻力位置(历史前高),EA自动识别,启动最多;行情突破某一下方支撑位置(历史前低),EA自动识别,启动最空。2、反弹交易...

    2019-07-11 外汇智能交易编程
  • MQL5变色线的画法(比MQL4更加简单)

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

    2019-07-11 外汇智能交易编程
  • 程序化交易全方位解读:外汇EA智能交易系统

    MQL4、MQL5编程提供:外汇EA、ea官网、程序化交易、程序自动交易、量化投资、EA自动化交易系统等相关学习文章和资料。一、什么是外汇EA智能交易?外汇EA智能交易是MT4与MT5的Expert Advisor(简称EA)的中文译名...

    2019-07-11 外汇智能交易编程
  • 几个关于MT4 EA交易(MT4程序化交易)的常识性问题

    马丁和网格型的EA需要止损吗?这样问问题会让人觉得很不专业,就好比不问多少资金EA有多大回撤一样,这应该有个前提。玩过马丁和网格的外汇交易者都知道,在资金允许的情况下是不会亏钱的,那么在挂马丁和网格之前,就需要了解EA...

    2019-07-11 外汇智能交易编程
你可能感兴趣