【大白0基础EA编程1-1】初识MQL4语言
admin
2024-05-08 11:42:45
0

原标题:【大白0基础EA编程1-1】初识MQL4语言

文章来源:123财经导航

作者:William

(第一单元)第1小节:初识MQL4语言

MQL4(全称:MetaQuotes Language 4)是由MetaQuotes Software(迈达克)开发的专门用于编写交易策略的编程语言。专门为MetaTrader 4(MT4)交易平台设计,是一种广泛使用在外汇交易中的程序语言,MetaEditor为MQL4的专用编辑器。

特点和功能:

  • 自动化交易:MQL4通过编写专门的交易策略,从而实现自动进行交易操作。交易策略可以基于技术指标、图表操作、价格动作等条件。
  • 自定义指标:通过编写自定义指标,分析市场和制定交易决策。自定义指标可以根据交易者的需求计算和显示各种技术指标值。
  • 自定义函数库:通过自定义函数库,简化、模块化代码编写过程。把常用功能集合到函数库中,可以在之后的指标、脚本、EA中重复使用。
  • 交易操作:丰富的内置函数,用于执行各种交易操作,包括开仓、平仓、修改订单、获取账户信息等。可以使用这些函数定制多样化的交易逻辑。

认识MetaEditor编辑器

在MT4终端按F4,进入编辑器,点击“文件”-“新建”,或者Ctrl+N新建一个.mq4文件,填写EA名称后其他保持默认,点击下一页。勾选所有能勾选的事件处理函数,此时我们就得到了一个简单的EA模板。

程序属性

  • #property 预处理器指令,以井号 # 开头,并在EA编译时由预处理器进行处理。用于指导编译器在编译源代码之前执行特定的操作。也是EA文件编译后的封面标识,包含了代码的版本信息、图标、跳转链接以及EA介绍、版本号等信息。

事件处理函数

其中包含了5个必备的预定义的特殊事件处理函数,

  • OnInit():初始化事件
  • OnDeinit():反初始化事件
  • OnTick():报价事件
  • OnTimer():定时器事件
  • OnChartEvent():图表事件

本节知识点:

1、 OnInit() :EA被加载到图表上时被调用。它通常用于执行初始化操作,例如设置全局变量、加载外部数据等,OnInit() 函数只会在初始化时被调用一次。

  • 案例:加载EA的时候检查一次账号是否授权,授权通过后加载EA。

2、OnDeinit() :EA从图表上卸载时被调用。通常用于执行反初始化操作,例如释放内存资源,删除图表信息等。同样OnDeinit() 函数只会在卸载时被调用一次。

  • 案例:一些EA会在图表创建图形界面,退出EA的时候把这些元素全部删除。

3、 OnTick() :每次报价更新时被调用。它是最常用的函数之一,用于实时响应市场行情变化。在 OnTick() 函数中,您可以编写代码来根据最新的市场报价执行交易决策等操作。顾名思义,该函数只会在正常报价刷新(K线跳动)时执行,K跳动一次执行该函数内的代码一遍。

  • 案例:EA的内部代码会跟随报价的刷新持续执行,报价不动,EA的运行也就不动。

4、OnTimer():定时器事件被触发时被调用。可以使用定时器来设置特定的时间间隔,在每个时间间隔到达时执行自定义操作。例如,您可以使用 OnTimer() 函数来定期检查某个条件,执行特定的任务。(需要注意的是:在一个EA程序中,只能同时加载一个计时器,但可以通过特殊逻辑运算表达编写多个虚拟计时器以满足不同场景的使用),计时器通常在初始化时设置。

  • 案例:按照计时器设定的时间间隔,比如1秒或者500毫秒执行一次EA中的代码,执行周期直到EA卸载为止(可以在常规的计时器中模拟多个不同时间段的虚拟计时器,以降低对应代码的执行频率)

5、OnChartEvent():在与图表交互的事件发生时被调用。这些事件可以是鼠标点击、键盘按键或其他与图表交互的操作。通过编写 OnChartEvent() 函数,可以实现与图表交互的自定义逻辑,例如根据鼠标点击位置执行特定操作或捕捉键盘事件等。

案例:点击图表的买入按钮时,根据设定的参数下一个buy单,这就是图表事件的功能应用。

相关内容

热门资讯

原创 1... 在人民币收藏领域,1元纸币因其流通时间长、版本多样、设计独特而备受关注。每个时代的1元纸币都承载着独...
全柴动力新提交1件商标注册申请 证券之星消息,根据企查查数据显示,近日安徽全柴动力股份有限公司新提交1件商标注册申请。商标申请详情如...
【1月1日】相约升钟湖 共赴这... 看南部网推荐百家号 获取精彩独家资讯! 爆料微信:15520870888 正文 升钟湖“庆元旦...
国家5A景区,吉林省+1! 12月27日,文化和旅游部发布《文化和旅游部关于确定19家旅游景区为国家5A级旅游景区的公告》,吉林...
1月1日元旦,记得提醒家人吃这... 1月1日元旦,记得提醒家人吃这4道“开运菜”福满财多寓意好,欢乐过新年! 时光如梭,转眼间2024年...
原创 阿... 做客的、赛前排名第19的升班马伊普斯维奇队迎来了英超第18轮的较量,伊普斯维奇队此役做客PK赛前排名...
力源信息新提交1件商标注册申请 证券之星消息,根据企查查数据显示,近日武汉力源信息技术股份有限公司新提交1件商标注册申请。商标申请详...
航天工程新注册《总包造价软件V... 证券之星消息,近日航天工程(603698)新注册了《总包造价软件V1.0.1》项目的软件著作权。今年...
国家通知!这种疫苗,调整了!明... 重要提醒!! 孩子们打的一类疫苗 有调整!!! 根据《关于国家免疫规划百白破疫苗和白破疫苗免疫程序调...
1月1日起,暂停!广东紧急通知 今天(12月27日) “广东税务”发布最新通告 2025年1月1日00:00至1月5日24:00 暂...
2025年1月1日!交通管制! 12月25日 阳泉市交警一大队发布 关于2025年阳泉市矿区新年登高 全民健身活动期间 交通管制的通...
陕鼓动力将于1月13日召开股东... 金融界12月27日消息,陕鼓动力发布公告,将于2025年1月13日召开第1次临时股东大会,网络投票同...
1+1观影团《误判》甄子丹“以... 由黄百鸣、甄子丹联合监制,甄子丹导演的贺岁档动作电影《误判》将于12月27日正式与观众见面。片中,曾...
上海气温暴跌至零下5℃!冷空气... 上海人注意! 北方有一股冷空气正在南下 今天5点钟 它的前锋已经到达华东地区北部 预计今天下午开始影...
突发!以色遭高超音速导弹袭击,... 据央视新闻,当地时间12月27日,也门胡塞武装发言人叶海亚·萨雷亚发表声明称,胡塞武装使用“巴勒斯坦...
颐和园:2025年1月1日起游... 新京报讯 据颐和园官微消息,北京市颐和园管理处12月27日发布温馨提示: 颐和园于2024年10月至...
哈尔滨市出租车计价新规明年1月... 近日,哈尔滨市交通运输局、哈尔滨市发展和改革委员会联合印发《关于印发哈尔滨市巡游出租汽车计价规则的通...
英超-近13场仅1胜!哈兰德点... 央视网消息:英超第18轮,曼城主场迎战埃弗顿。上半场格瓦迪奥尔中柱,B席破门,阿坎吉踢空+刘易斯漏人...
北京菜市口百货股份有限公司党委... 北京商报讯(记者 王维祎)12月26日,由北京市商务局指导,北京日报报业集团和北京市商业联合会共同主...
哈尔滨冰雪大世界勉强盈利,小型... 文|劲旅网 哈尔滨冰雪大世界一经开业,再次成为今年绝对顶流。尽管票价高达300元+,但丝毫阻拦不住...