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

相关文章

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re