MT4目录结构

2024-05-12 04:28
文章标签 结构 目录 mt4

本文主要是介绍MT4目录结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Experts

该文件夹包含用户编写的EA程序代码文件。可以自动将用户编写的交易策略应用到行情中,其中后缀名为mq4的是源代码,后缀名为ex4的是可执行文件。

EA:Expert Advisors,译为专家顾问,通俗的来说,就是用机器代替人监听行情,并针对行情应用交易策略,自动执行做多、做空的操作。由程序员借助一门计算机编程语言(mq4),编写交易指令,预设好某个情境下的操作,实现机器自动进行交易。

优点:

  1. 自动化交易:无需人工干预,消除了情绪因素对交易的影响,并且可以在没有人类干预的情况下全天候的交易;
  2. 严格执行策略:按照预设的交易策略执行交易,不会受到人类情绪波动和主观判断的影响,保证了交易策略的纪律性和一致性;
  3. 快速响应市场:EA可以实时检测市场变化并立即做出反应,快速执行交易操作,更容易捕捉到市场的瞬时机会;
  4. 减少认为错误:避免人为错误,如误操作、拖延等;
  5. 后测和优化:可以通过回测功能对EA进行历史数据的模拟测试,评估交易策略的变现并进行优化,提高盈利能力。

缺点:

  1. 机械化限制:EA只能按照预设的策略进行交易,缺乏人类交易者的灵活性和判断力,有可能无法适应市场的变化和突发情况;
  2. 依赖性能稳定性:EA的运行依赖于交易平台和计算机系统的稳定性和可靠性,如果系统出现故障或网络断线,可能导致交易失败或者损失;
  3. 过度优化风险:对EA进行过度优化可能导致过度拟合历史数据,使其表现在实际交易中的表现不如预期,甚至导致损失;
  4. 无法适应新情况:由于EA通常基于历史数据和固定的交易策略进行交易,对于 新的市场情况或者突发事件可能无法及时做出合适的调整;
  5. 需要技术知识:开发和优化EA需要一定的编程和金融市场知识,对于普通投资者来说,可能需要花费大量时间和精力才能掌握;
  1. onTrade: 当交易操作(如开仓、平仓、修改订单等)发生时,该函数会被调用。可以在该函数中编写相应的代码来处理交易操作的结果和执行相关的逻辑。

  2. OnTradeTransaction: 当交易事务(如交易记录、订单状态变化等)发生时,该函数会被调用。可以在该函数中编写代码来监控交易事务并执行相应的操作。

  3. OnTimer: 当定时器触发时,该函数会被调用。可以在该函数中编写代码来执行周期性任务,例如定时更新指标、检查市场条件等。

  4. OnChartEvent: 当在图表上发生事件(如鼠标单击、拖动图表等)时,该函数会被调用。可以在该函数中编写代码来响应图表事件并执行相应的操作。

  5. OnBookEvent: 当市场深度数据发生变化时,该函数会被调用。可以在该函数中编写代码来处理市场深度数据变化的情况。

  6. OnTester: 当在回测期间执行交易测试时,该函数会被调用。可以在该函数中编写代码来处理回测过程中的事件和情况。

  7. OnTesterInit: 当开始进行交易策略的回测时,该函数会被调用。可以在该函数中编写代码来初始化回测环境和设置回测参数。

  8. OnTesterPass: 当回测过程中每一次交易的测试通过时,该函数会被调用。可以在该函数中编写代码来处理每一次交易测试通过的情况。

  9. OnTesterDeinit: 当交易策略的回测结束时,该函数会被调用。可以在该函数中编写代码来清理回测环境和进行最终的处理。

Files

此文件夹存放各种自定义文件,例如EA、指标、脚本等程序的配置文件。

Images

此文件夹存放定制MT4插件所需的图表、指标和其他图片,以及截图和一些程序缩略图。

Include

此文件夹用于存储头文件(.mqh)和mql4程序中需要的其他代码包含文件。如果是代码文件,通常包含定义变量、函数和常数的代码块,以及需要使用的库函数或自定义函数。

Indicators

此文件夹用于存储自定义指标,这些指标用于分析市场数据并提供交易信号。指标是一种用于分析市场价格行为和预测未来价格走势的工具,指标通常基于数学计算和统计模型,通过对历史价格数据进行分析,提供交易决策的支持。

  1. OnInit: 当指标被加载到图表上时,该函数被调用。通常在这个函数中初始化指标的参数、图表对象和其他必要的设置。

  2. OnCalculate: 当新的价格数据到达时,或者在指定的时间间隔内,该函数被调用。在这个函数中,可以编写指标的计算逻辑,根据最新的价格数据计算出指标的值。

  3. OnTimer: 当定时器触发时,该函数被调用。可以在这个函数中编写周期性任务的代码,例如定时更新指标值或执行其他与时间相关的操作。

  4. OnChartEvent: 当在指标窗口上发生事件(例如鼠标单击、拖动指标窗口等)时,该函数被调用。可以在这个函数中编写代码来响应指标窗口上的事件并执行相应的操作。

Libraries

此文件夹通常用来存储动态库,这些库可以被指标或EA共享。由于MT4中大部分函数是写死的,因此某些情况下要实现一些功能比较麻烦,因此在使用其他语言的动态库可能更加方便。(插一嘴,MT不支持指针,C++中的字符串和mq4的字符串并不一样,还有MT4是32位的。给出三条建议,第一条是创建动态库时不要弄错了,需要32位的,如果时MT5则可以选择64位的,第二条是在试图传递字符串时用字符数组来实现,第三条建议是目前官网提供的无论是MT4的setup还是MT5的setup最后安装的都是MT5,需要去一些交易商下载32位的MT4)。

Logs

此文件夹包含MT4客户端和服务器的日志记录文件,记录了MT4客户端和服务器的活动信息,如连接状态、错误消息、运行日志等。

Presets

此文件夹用于存储EA的一些预设参数,在EA交易中,可以根据不同的EA,创建自定义设置参数并保存预设值,以便重复利用,通常以.set 结尾。

Projects

此文件夹用来存储已经创建的交易系统和EA项目文件,通常包含有关交易策略、交易规则、指标设置和其他与交易相关的信息。

Scripts

此文件夹存放MT4脚本,可以执行特定的任务,例如开仓、平仓、修改订单等。可以将脚本拖放到图表上来快速执行,脚本只加载一次并只运行一次,然后就会退出。

这篇关于MT4目录结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981596

相关文章

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

Java集合中的链表与结构详解

《Java集合中的链表与结构详解》链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序的通过链表中的引用链接次序实现,文章对比ArrayList与LinkedList的结构差异,详细讲解了链表... 目录一、链表概念与结构二、当向单链表的实现2.1 准备工作2.2 初始化链表2.3 打印数据、链表长

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

SpringBoot利用树形结构优化查询速度

《SpringBoot利用树形结构优化查询速度》这篇文章主要为大家详细介绍了SpringBoot利用树形结构优化查询速度,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一个真实的性能灾难传统方案为什么这么慢N+1查询灾难性能测试数据对比核心解决方案:一次查询 + O(n)算法解决

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2