现在的位置:主页 > 期刊导读 >

原创MQL4编程初体验——构建简化交易指令集、

来源:电脑编程技巧与维护 【在线投稿】 栏目:期刊导读 时间:2020-09-16

【作者】网站采编

【关键词】

【摘要】MetaQuotesLanguage4(简称MQL4)是在目前最通用的外汇、期货交易软件MetaTrader4(简称MT4)中内置的自动化交易语言,该语言帮助你创建自己的智能交易,使交易策略能够完全自动地执行,还

MetaQuotesLanguage4(简称MQL4)是在目前最通用的外汇、期货交易软件MetaTrader4(简称MT4)中内置的自动化交易语言,该语言帮助你创建自己的智能交易,使交易策略能够完全自动地执行,还能自定义客户指标,脚本和数据库。笔者是一名初涉MT4外汇交易的在读大学生,通过学习和实践,已经感受到了MQL4扩展工具的强大力量;此处整理了自己的一些原创应用。 笔者是在福汇MT4交易平台上开发自己的MQL4应用的,本次的开发的目标是实现两个最基本的功能,一是构建简化交易指令集,辅助人工快速操作;二是通过自定义指标和“通知”功能实现价格实时监控。 需求分析和流程设计 以下一些是实际交易中最常用到功能: (1)一键买、卖;(2)止盈止损快速调整;(3)一键平仓;(4)挂单平移;(5)开仓统计。在行情快速变化,尤其是出现剧烈震荡的时候,哪怕操作上能快零点一秒钟都是极其宝贵的,所以创建这些常用操作的脚本小程序实现一键操作,虽然看似平常却很有意义。为提高速度,买、卖操作、平仓都是摒弃任何参数设置而直接是一键操作;比如买0.02手、买0.05手、买0.1、买0.2手的操作,除了交易量,其他代码完全一样;这样如果重复写每一个小程序代码对后期程序修改和维护显然不合理;所以此处应运用QML4的Libraries函数功能创建自定义库函数,包括买函数(数量,默认止盈)、卖函数(数量,默认止盈)、平仓函数(参数…)、统计函数(参数…),供脚本程序集的脚本调用函数。再来探讨一下统计的要素:为了控制风险,我们需要随时掌控当前已经建仓的交易品种的建仓数量、平均价格、最大亏损、最大盈利,以及所有品种的总的最大亏损和盈利情况;此处又应包括不考虑挂单和考虑挂单两种情况。(6)价格步进提示。利用MQL4的自定义指标功能可以实现对关注交易品种的价格的实时监控,再通过MT4的通知功能将消息通知到自己的手机上(iPhone或Android)。一般我们只关注价格大幅变动的情况,所以我们程序流程为:到达检查时间间隔,开始检查价格是否突破了步进范围,主要判断价格是否突破了步进范围,若是则发消息,否则结束流程。 代码实现 1.库函数包括: stringtongji();stringtongji_ no_email();intbuy(doublelot,intmr_ zs);intsell(doublelot,intmr_zs);intclose_limit();booldo_ close();intclose_ordered(intzhouqi,intsl_of_ zhouqi);intclose_limit_order(intzhouqi,intsl_of_ zhouqi);intclose_all_limit(); 2.脚本清单包括: (1)一键买、卖:!A1_买0.02.mq4;!A1_买0.05.mq4;!A1_卖0.02.mq4;!A1_卖0.05.mq4。 (2)止盈止损快速调整:!00_设置默认止赢.mq4;!02修改止损-同一止损.mq4;!02修改止损系统.mq4;!02修改止赢-同一止赢.mq4;!02修改止赢系统.mq4。 (3)一键平仓:!01_关闭所有挂单(当前品种).mq4;!01_关闭若干挂单(当前品种,倒序).mq4;!03_全部平仓(当前品种).mq4;!03_平二分之一仓(当前品种).mq4;!03_部分平仓(当前品种).mq4;!03一键平仓(所有品种).mq4。 (4)挂单平移:!01_挂单平移(当前品种).mq4。 (5)开仓统计:!01开仓统计(不发送).mq4;!01开仓统计(所有品种).mq4。 (6)价格步进提示:步进警报指标.mq4。 (7)手动发送信息:!05手动发送信息.mq4。 代码的编写较为简单,此处不做罗列。 三、实际应用 通过编程、调试、试用和修改,顺利完成了一套半自动化的交易操作工具脚本。 对使用交易指令集前后各项操作的时间进行了简单的统计如下:(假设共有两个品种、每个品种建了4个仓):买、卖操作时长由5秒短到1秒;修改止损-同一止损和修改止赢-同一止赢由28秒缩短到5秒;关闭所有挂单(当前品种)由7秒缩短到2秒;关闭所有挂单(所有品种)由15秒缩短到2秒。在保证操作准确的前提下,实现了速度的大幅提升和操作的简化,使用体验比较满意。价格步进提示可以让你随时随地在手机端实时掌控相关品种的价格变动。 四、体会和改进 首先的感受是这个MT4上的MQL4编程平台十分了不起,是十分易用的、开放的可以让用户自由扩展功能的平台,而且功能十分稳定,不易出错。 对于有一定编程能力的人员来说比较容易上手,实际编程时我是借助《mt4编程大全》、《mt4编程手册》,再加上万能的度娘,基本没有碰到什么难题,当然调试过程还是需要一点耐心的。第二个感受是MT4上的“通知”功能也非常契合当前信息时代人手一部智能手机、用户希望随时随地能监控MT4行情的需求;也刚好弥补了MT4手机版上没有的价格提醒功能。建议MQL4编程平台能通过“通知”功能实现信息交互,比如可以通过手机端发送“一键平仓”消息,进而调用PC端的“一键平仓”脚本,这样将可以大大扩展MT4手机版的功能。

文章来源:《电脑编程技巧与维护》 网址: http://www.dnbcjqywh.cn/qikandaodu/2020/0916/495.html

上一篇:达索系统推出SOLIDWORKS 2018 SOLIDWORKS CAM
下一篇:基于数控车床GSK980TDB系统的普通螺纹加工技巧

电脑编程技巧与维护投稿 | 电脑编程技巧与维护编辑部| 电脑编程技巧与维护版面费 | 电脑编程技巧与维护论文发表 | 电脑编程技巧与维护最新目录
Copyright © 2018 《电脑编程技巧与维护》杂志社 版权所有
投稿电话: 投稿邮箱: