美文网首页
四(三)客户端事件

四(三)客户端事件

作者: 牛在汇上飞 | 来源:发表于2018-10-20 16:26 被阅读0次

    客户端事件

    Init // 初始化
    在客户机终端加载一个程序(EA或自定义指标)并启动全局变量初始化过程之后,Init事件将被发送(如果有的话),OnInit()事件处理程序将对其进行处理。此事件还会在金融工具和/或图表时框更改后生成,即: 在编缉器中重新编译程序后生成,在EA或自定义指标的设置窗口中更改输入参数后生成。在帐户更改后,还会初始化一个EA。

    Deinit // 反初始化
    当注销全局变量并卸载程序(EA或自定义指标)前,客户端将Deinit事件发送给程序。在关闭客户端、关闭图表、更改安全性和/或时框之前、在成功的程序重新编译、更改输入参数和更改帐户时,都会生成Deinit。
    可以从传递给OnDeinit()函数的参数中获得反初始化原因。OnDeinit()函数的运行限制为2.5秒。如果在此期间函数未完成,则强制终止。

    Start // 开始(主函数运行)
    启动事件是加载脚本后并激活的特殊事件。此事件由OnStart处理程序处理。启动事件不是发送给EA或自定义指标。

    NewTick // 新棒上(运行)
    该事件是在有新报价的情况下生成的,由附件中的EA中的OnTick()处理。如果在接收到新报价时正在处理前一个报价的OnTick函数,EA将忽略新报价,因为相应的事件将不会加入队列。
    在程序运行时接收到的所有新引号都将被忽略,直到OnTick()完成为止。在此之后,函数将只在收到新报价后运行。无论是否允许自动交易,都会生成NewTick事件(“允许/禁止自动交易”按钮)。禁止自动交易仅表示不允许从EA发出交易请求,而EA则继续工作。
    通过按下适当的按钮禁止自动交易不会停止OnTick()函数的当前执行。

    Calculate // 计算
    仅在Init事件发送后,并在价格数据发生任何变化时 为指标生成计算事件。它由OnCalculate函数处理。

    Timer // 计时器
    该事件由客户端定期为使用EventSetTimer函数激活计时器的EA生成。通常,这个函数由OnInit调用。计时器事件处理由OnTimer函数执行。在完成EA的操作之后,需要使用EventKillTimer函数销毁计时器,这通常在OnDeinit函数中调用。

    Tester // 测试
    该事件是在测试历史数据的EA结束后生成的。事件由OnTester()函数处理。

    ChartEvent // 图表事件
    当用户使用图表时,ChartEvent事件由客户端生成:
    击键,当图表窗口处于焦点时;
    创建的图形对象
    图形物件删除
    鼠标按在图表的图形物件上
    使用鼠标移动图形物件
    LabelEdit文本编辑结束。
    还有一个定制的事件ChartEvent,它可以通过EventChartCustom函数由任何mql4程序发送给EA。事件由OnChartEvent函数处理。

    相关文章

      网友评论

          本文标题:四(三)客户端事件

          本文链接:https://www.haomeiwen.com/subject/dgrezftx.html