myeatrade

MT4平台使用

MT4使用基础(十):智能交易系统、自定义指标和脚本

MetaQuotes Language 4 (MQL4) 是一种新的内置型,用来编写交易策略的程序语言。这种语言可以创建你自己的智能交易系统,使自己的交易策略能够完全自动地执行。而且,MQL4 还能自定义客户指标,脚本。MetaEditor 4集合了编写 MQL4 程序代码的各种语句,它能帮助使用者方便地写出规范的代码。

MQL4 可以编写不同作用的程序代码:

  • 智能交易:是一种连接到特定图表的自动交易系统。这种交易系统能够在提醒用户可以交易的同时,将交易定单自动送到交易服务器。与大多数交易系统一样,它也能够用历史数据测试交易策略,并在图表上显示出来。
  • 自定义指标:可用来编写新的技术指标,和内置的指标一样,它不能用来进行自动交易,只能作为分析数据的工具。
  • 脚本:是执行单一功能的一段程序,和智能交易不同,脚本不能单独执行,只能被调用。

智能交易系统

客户终端的智能交易系统(Expert-Advisor,简称EA)调用使用MetaQuotes Language 4(MQL 4)语言开发的程序,可以自动分析和操作交易。智能交易系统可以以自动的模式进行市场技术性分析。除此之外,智能交易系统还可通过接收到的信号下单执行交易,并且监控开仓头寸。所有关于进行技术分析和交易的常规操作都可以交给智能交易系统执行。

内置的编辑器“MetaEditor“用于设计智能交易系统。在创建此编辑之后,智能交易系统作为文件被存储在” EXPERTS”文件夹中,文件名扩展为”MQ4”(源编码)和“EX4“(执行文件)。EX4的文件列表可以在“导航—智能交易系统”窗口中看到。

智能交易系统的创建

为了创建新的智能交易系统,您应该先装载编辑“MetaEditor“,打开“Expert Advisor Wizard”窗口,且在“Expert Advisor program”中填写对应的栏目。“智能交易系统”编辑器可以通过以下几种方法调用:窗口“导航器—智能交易系统—创建”中的右键菜单指令;或主菜单中“工具—MQ语言编辑器”命令;也可按F4键或Insert键。之后需设定智能交易系统的参数:

  • 名称 — 智能交易系统的名称;
  • 作者 — 有关作者的信息;
  • 链接 — 开发者的网址;
  • 参数 - 输入参数列表。加入新参数应按“增加”键,删除参数按“删除”键。

在Expert Advisor Wizard结束工作后,监控进入MetaEditor,此时可以直接创建智能交易系统了。可以通过智能交易系统的右键菜单命令“导航—智能交易系统-修改”修改已有的智能交易系统。通过编辑器提供的应用源编码,智能交易系统可以重新编辑。创建后的智能系统文件必须编译成.EX4文件后放到MT4安装目录下的experts文件夹里才能使用。

智能交易系统的使用

Expert Advisor Wizard可以使用以下几种方法附加到图形上:使用“”附加到图表”的命令;或在“导航”窗口中对已选的智能交易系统双击鼠标左键;或选中智能交易系统使用鼠标拖拽技术附加在图表上。一个明显的附件微笑图标会显示在图形右上角。

MT4-ea-1

如果改变附加在图表上的智能交易系统的设置,可对微笑图标双击鼠标左键,或执行右键菜单命令“智能交易系统—属性”或按F7键。附加上或改变智能交易系统的参数,客户可定制以下设置:

MT4-ea-2

多空仓位 — 开仓部位的方向:

  • 多仓和空仓(Long & Short)— 两个方向;
  • 仅开多仓(Only Long)— 仅买入;
  • 仅开空仓(Only Short)— 仅卖出。

启用警报 — 启动/关闭报警信号;

  • 一旦价位达到停用警报 — 仅发出第一次预警信号;

允许实时自动交易 - 允许智能交易系统进行实时交易;

  • 需要人工确认 — 交易信号开始时要求确认;

允许导入动态连接库 — 允许/禁止从动态连接库文件输入的功能;

  • 确认动态连接库功能调用 — 每次调用动态连接库功能都要求确认;

允许导入外部的智能交易系统 - 允许/禁止从外部智能交易系统输入功能;

另外在“输入参数”标签中可以修改输入变量。若需要删除附加在图表上的智能交易系统,可以在图表窗口中使用右键菜单命令“智能交易系统—消除”操作。使用主菜单命令“工具—选项—智能交易系统—启动智能交易系统”,或“图形工具条上的 clip_image003 按钮;或使用快捷健Ctrl+E可以禁止(或启动)附加在图表上的所有智能交易系统的使用。在这种情况下,智能交易系统没有被删除。

MT4-ea-3

智能交易系统测试

为了核查智能交易系统的可操作性,可创建一个专门多功能“测试器”窗口。可以使用以下几种方法打开此窗口:主菜单“显示—智能交易测试”命令,或使用快捷键Ctrl+R,或按“标准”工具条中  MT4-ea-5  按钮。该窗口不仅可以测试交易策略,还可以进行参数优化。

MT4-ea-4

“设置”标签

  • 智能交易系统 — 从列表中选择需测试的智能交易系统。为了能够执行此步骤,智能交易系统必须被编译及放置在/EXPERTS文件夹中。所有新创建的智能交易系统都被自动放置在此文件夹中;
  • 商品 — 选择所要测试的交易品种
  • 时间周期 — 选择商品的时间周期;如果选择此顶,则指定区间的数据将被运用。否则,将运用所有可利用数据。
  • 复盘模型 - 选择棒图模型的模式;
  • 复盘模型 - 选择棒图模型的模式;
  • 优化 —转换成优化模式,选择期望的输入变量参数在“智能交易属性—优化”窗口标签中列出;
  • 复盘显示 —测试的日期起止时间;
  • 智能交易属性 —设置测试系统的一系列选项及参数;在测试期间初始保证金和开仓方向可在“测试”标签中说明。参数优化的参数列在“优化”标签中。这些参数被预先确定,但他们的数值可以变动。可以在需要修改的数值上双击然后输入新值来修改。此外,参数名称左边的标记可允许修改/不修改数值。
  • 商品属性 - 查看所测试品种的合约细则;此信息记录在一个*.fxt文件的顶部,被用于服务器模拟;
  • 打开商品图表 — 为选择的品种创建新的图表窗口;开平仓图标、智能交易系统运用的对象和指标都可以在图表上画出。此图仅在测试结束后打开;
  • 修改智能交易 - 打开编辑器“MetaEditor“编辑选择的智能交易系统;
  • 开始 - 开始测试。点击开始后,此测试窗口会增加“结果”、“净值图”和“报告”标签。

“结果”标签

测试结果列在一个表格中,此表包括所有交易执行的信息。表格包括以下几个栏目:

  • # — 交易的次数排序;
  • 时间 — 履行交易的时间;
  • 类型 — 交易的类型(卖出,买入,止损, 获利了结,修改,止损平仓等);
  • 定单 - 交易笔数排序;
  • 手数 — 下单的手数;
  • 价格 — 成交价格;
  • 止损 — 定单止损价;
  • 获利 - 定单止赢价格;
  • 获利 - 盈亏金额。仅平仓时在该栏中会显示该数值;
  • 余额 - 每次平仓后的资金余额,仅平仓时在该栏中会显示该数值。

“净值图”标签

“净值图”标签包括自动画出的帐户资金走势图表。该图表显示在测试交易策略期间动态交易结果。如果在测试过程中交易手数有变化,手数图将会在此标签显现。

报告标签

此标签中概括了以下测试结果和一些主要参数:

  • 经测试过的柱数 — 历史的棒图的数量;
  • 用于复盘的即时价数量— 在测试时,Tick模型的数量;
  • 模型的质量 — Tick模型质量的百分比值;
  • 起始资金 — 初始存款;
  • 总净盈利 — 盈利减去亏损的数值;
  • 总获利 — 所有盈利交易的盈利总额;
  • 总亏损 — 所有有亏损交易的亏损总额;
  • 总净利润 — 盈利减去亏损的数值;
  • 盈利比 — 总获利与总亏损的比值;
  • 预期盈利 — 预期盈利;
  • 绝对亏损 — 在余额下最大亏损值;
  • 最大亏损 — 亏损交易的最大值。
  • 交易单总计 — 总计交易的次数;
  • 卖单 (获利百分比) — 建立空头头寸的次数和其中盈利单的百分比;
  • 买单 (获利百分比) — 建立多头头寸的次数和其中盈利单的百分比;
  • 盈利交易(占总百分比) — 盈利头寸的数量及其占总交易数量的百分比;
  • 亏损交易(占总百分比) — 亏损头寸的数量及其占总交易数量的百分比;
  • 最大的获利交易 — 最大盈利的交易;
  • 最大的亏损交易 — 最大亏损的交易;
  • 平均获利交易 — 所有获利交易的平均盈利;
  • 平均亏损交易 — 所有亏损交易的平均亏损;
  • 最大连续获利金额 — 最大的连续盈利交易的盈利总和金额;
  • 最大连续亏损金额 — 最大的连续亏损交易的亏损总和金额;
  • 最多连续获利次数 — 连续盈利交易总次数;
  • 最多连续亏损次数 — 连续亏损交易总次数;
  • 平均连续获利 — 连续盈利交易的平均数;
  • 平均连续亏损 — 连续亏损交易的平均数;

“日志”标签

在测试过程中的报告在此表标签中自动生成。除了在智能系统测试而不是在市场真实操作期间发布的信息以外,该日志与“终端”窗口的日志相同。在测试结束之后,数据输出在单独的TESTER/LOGS文件夹。

智能交易系统优化

智能交易系统的优化是系统通过连续的选择找出输入参数的最适合数值。若转换成优化模式,需要在“测试器—设置—优化”栏上标记选中,然后选择期望的输入变量参数在“智能交易属性—优化”窗口标签中列出。不仅初始值(开始),而且改变变量步长和最终限制参数(止损价位)均需定义后优化。注意如果止损价位或步长为零;或者止损价位不能达到(例如止损价位比开始价位高,而步长为负数)这样的变量将不能被优化。在定义期望的参数之后,象正常的测试一样必须按“开始”按钮。由于优化过程中使用不同变量对智能交易系统进行多种测试,所以这一过程需花费大量时间。在优化过程结束后,可以在“优化结果”和“优化图表”中核查结果。

自定义指标

自动义指标是使用MQL4语言开发的程序,其具有技术分析指标功能。编辑器“MetaEditor”用于自定义指标的设计。自定义指标列表可在“导航器—自定义指标”窗口中看到。

创建一个新的用户自定义指标可通过启动“Expert Advisor Wizard”,在程序类型中选择“Custom Indicators(自定义指标)”。Expert Advisor Wizard的下一步帮助自定义指标的普通设定。

  • 名称 — 自定义指标的名称
  • 作者 — 有关作者的信息
  • 链接 — 开发者的网址
  • 参数 — 输入参数列表。增加一个新的参数应按”增加”键,删除参数按”删除”键。

之后需要定义新的技术指标是否创建在独立的图表窗口中,新指标的最大值和最小值(如果需要)以及技术指标标记的数量。技术指标标记组中的数量对应在图表中显示线条的数量。换言之,当技术指标标记被定义后,用户自定义指标线条数也被定义了。

“Expert Advisor Wizard”在定义完成所有特性以后结束工作,转交控制到“MetaEditor”。现在网上有好多的自定义指标,如果是在网页上看到的指标源代码文本,则可以复制到记事本里,保存为.mq4格式,而不必打开MetaEditor编辑器。自定义指标的修改类似于智能交易系统的修改,右键菜单中的“删除”命令可删除“导航器—自定义指标”窗口的自定义指标。创建后的指标文件必须编译成.EX4文件后放到MT4安装目录下的experts/indicators文件夹里才能使用。对于自定义指标的操作使用和系统自带指标是完全一样的。

脚本

脚本是一种由MQL4语言编写的程序,为执行单一功能而设计。不像智能交易系统,脚本仅按需求执行一次,而不是按每笔报价执行。您可使用“MetaEditor“编辑器设计脚本。可用的脚本序列可在“导航器—脚本”窗口看到,其他部分,脚本监控类似于智能交易系统和自定义指标的监控。

注意:

如果在“导航”窗口中的程序图标显示为灰色,表示其不可用。为了启动使用这一程序,必需在“MetaEditor”编辑器中编译脚本。在客户终端中提供几种用于示范“MQL4”语言的智能交易系统,用户自定义指标和脚本,但这些程序仅可用于学习。在修改智能交易系统 (或自定义指标、脚本)之后,需要编译。否则,您就不能使用修改后的程序。

本文地址:http://www.myeatrade.com/zh/576/

请登录后发表评论,如果你还没有账户你可以 免费注册