文章来源:123财经导航
作者:William
MQL4(全称:MetaQuotes Language 4)是由MetaQuotes Software(迈达克)开发的专门用于编写交易策略的编程语言。专门为MetaTrader 4(MT4)交易平台设计,是一种广泛使用在外汇交易中的程序语言,MetaEditor为MQL4的专用编辑器。
在MT4终端按F4,进入编辑器,点击“文件”-“新建”,或者Ctrl+N新建一个.mq4文件,填写EA名称后其他保持默认,点击下一页。勾选所有能勾选的事件处理函数,此时我们就得到了一个简单的EA模板。
其中包含了5个必备的预定义的特殊事件处理函数,
1、 OnInit() :EA被加载到图表上时被调用。它通常用于执行初始化操作,例如设置全局变量、加载外部数据等,OnInit() 函数只会在初始化时被调用一次。
2、OnDeinit() :EA从图表上卸载时被调用。通常用于执行反初始化操作,例如释放内存资源,删除图表信息等。同样OnDeinit() 函数只会在卸载时被调用一次。
3、 OnTick() :每次报价更新时被调用。它是最常用的函数之一,用于实时响应市场行情变化。在 OnTick() 函数中,您可以编写代码来根据最新的市场报价执行交易决策等操作。顾名思义,该函数只会在正常报价刷新(K线跳动)时执行,K跳动一次执行该函数内的代码一遍。
4、OnTimer():定时器事件被触发时被调用。可以使用定时器来设置特定的时间间隔,在每个时间间隔到达时执行自定义操作。例如,您可以使用 OnTimer() 函数来定期检查某个条件,执行特定的任务。(需要注意的是:在一个EA程序中,只能同时加载一个计时器,但可以通过特殊逻辑运算表达编写多个虚拟计时器以满足不同场景的使用),计时器通常在初始化时设置。
5、OnChartEvent():在与图表交互的事件发生时被调用。这些事件可以是鼠标点击、键盘按键或其他与图表交互的操作。通过编写 OnChartEvent() 函数,可以实现与图表交互的自定义逻辑,例如根据鼠标点击位置执行特定操作或捕捉键盘事件等。
案例:点击图表的买入按钮时,根据设定的参数下一个buy单,这就是图表事件的功能应用。