目录

Mac运行MT4 - MT4自定义函数库编写从零到实战_准备工作:找到Include文件夹并了解基础结构_3

MT4自定义函数库编写从零到实战_准备工作:找到Include文件夹并了解基础结构_3
对于很多使用MetaTrader 4进行交易的朋友来说,MQL4语言就像是打开新世界大门的钥匙。虽然平台自带了不少内置函数,但真正想实现个性化交易逻辑,编写自定义函数库是绕不开的一步。说实话,刚开始接触Include文件夹的时候,我也觉得有点摸不着头脑,但搞明白之后会发现,这其实就是个把常用代码整理成工具箱的过程。今天咱们就一步步拆解,看看怎么在MT4的Include文件夹里创建属于自己的库文件。

准备工作:找到Include文件夹并了解基础结构

首先你得知道Include文件夹藏在哪里。打开MT4安装目录,通常在C盘Program Files或Program Files (x86)下的MetaTrader 4文件夹里,你会看到一个名为Include的子文件夹。如果你用的是便携版或者自定义安装路径,那就去你安装MT4的地方找找看。这个文件夹就是咱们存放自定义库文件的地方,MQL4会自动识别里面的内容。

在开始写代码之前,建议你先打开Include文件夹看看里面有什么。你会发现里面已经有一些系统自带的库文件,比如stdlib.mqh、stderror.mqh这些。这些文件其实就包含了大量现成的函数和错误代码定义。说白了,你可以参考它们的结构来写自己的库。我当初就是打开stdlib.mqh看了半天,发现原来库文件的格式这么清晰,瞬间就有了信心。

库文件的后缀名是.
mqh,这个很重要。你新建一个记事本文件,把后缀改成.mqh就行了。不过说实话,我建议你直接用MT4自带的MetaEditor编辑器来写,因为MetaEditor有语法高亮和自动补全,能省不少事。打开MetaEditor后,选择文件→新建,在弹出的对话框里选择Include文件,这样会自动生成一个标准的.mqh模板。

模板里会有一些默认内容,比如文件头注释、版权信息之类的。你可以先忽略这些,直接开始写你的函数。不过有一点要注意:库文件里不能包含像OnInit()、OnTick()这样的入口函数,因为这些是给EA和指标用的。库文件只包含函数定义、变量声明和类定义,说白了就是个纯工具集合。

第二步选择并加载你的图片文件

当你勾选了“背景图片”选项之后,旁边会立刻出现一个“浏览”按钮,有些版本可能显示为“打开”或者“选择文件”。点击这个按钮,系统会自动弹出一个文件选择窗口。这里要注意一个关键点:MT4只支持特定格式的图片文件,最常见的是BMP格式,也就是位图格式。虽然有些版本也支持JPG或者PNG,但为了确保万无一失,我强烈建议你把图片转换成BMP格式再导入。你可以用电脑自带的画图软件打开图片,然后另存为BMP格式,操作非常快。

图片的分辨率选择也是有讲究的。如果你用一张分辨率特别低的图片,放大到图表上就会变得模糊不清,反而影响观感。我个人的经验是,最好选择一张和你显示器分辨率接近的图片,比如1920x1080的图片就很合适。太小的图片会被拉伸变形,太大的图片又可能导致MT4加载缓慢。另外图片的内容也要注意,尽量选那些颜色柔和、不刺眼的图片,比如浅蓝色、浅绿色或者带有渐变效果的风景图。千万不要用那种色彩特别鲜艳或者对比度极高的图片,否则K线图会被背景完全“吃掉”,根本看不清楚价格走势。

选好图片之后点击“确定”或者“打开”,图片就会自动加载到图表背景中。这时候你可能会发现图片的显示位置不太对劲,比如只显示了一部分或者被拉伸得变了形。别着急,MT4其实提供了图片位置的调整选项,就在背景图片设置的下方。你可以选择“居中”、“拉伸”或者“平铺”三种模式。其中“居中”模式会保持图片原始尺寸放在图表中间,如果图片比图表小,周围会留出空白区域。“拉伸”模式会把图片强行拉伸到和图表一样大,但可能会导致图片变形。“平铺”模式则会把图片重复铺满整个图表区域。我个人最常用的是“居中”模式,因为这样不会破坏图片原有的比例。

从高低点延伸出多角度射线网络

单画一条45度线其实用处有限,真正的高手会从同一个显著高低点出发,画出一组甘氏线,包括1x1线(45度)、2x1线(63.75度)、1x2线(26.25度)等等。MT4允许你为同一条线添加多个角度分支,但更常见的做法是手动添加多条甘氏线,每条设置不同的角度,形成一个射线网络。

我在实战中一般会画三条线:一条45度线作为主轴线,一条63.75度线作为强阻力或强支撑参考,一条26.25度线作为次级参考。这些角度不是随便选的,它们对应着甘氏理论里时间和价格的不同比例关系。比如63.75度线代表两个单位时间对应一个单位价格的变化,通常出现在趋势加速阶段。

画多条线的时候,要注意不要让图表变得太杂乱。你可以把不同角度的线设置成不同的颜色,比如45度线用白色,其他线用灰色或者虚线。在MT4的甘氏线属性里,有颜色和线型的选项,调整一下就能让图表更清晰。另外,这些线会随着时间向右无限延伸,如果你觉得某条线已经没有参考价值了,直接选中删除就好,不用心疼。

风险控制对交易策略的直接影响

实盘的风控限制会直接影响你的策略执行。比如马丁格尔策略在模拟盘上看起来很美,因为你可以无限加仓,但实盘中的保证金限制和头寸规模限制会让这个策略很快失效。我见过很多人在模拟盘上用马丁策略赚了钱,结果实盘账户在第一次回撤时就爆仓了。说白了,模拟盘测试策略时,你根本看不到真实的风险环境。

资金管理策略也需要根据实盘限制进行调整。模拟盘上你可以随意设置杠杆,甚至使用1000倍杠杆,但实盘中大多数经纪商限制杠杆在100倍以内。这意味着同样的资金量,实盘能开的最大仓位远小于模拟盘。MT4官网如果你在模拟盘上习惯了重仓交易,实盘可能会让你觉得束手束脚,但这恰恰是风控的必要手段。

最后,模拟盘和实盘的心理压力完全不同。模拟盘亏损时你不会感到任何痛苦,但实盘中的每一点浮亏都会影响你的判断。说实话,很多人在模拟盘上能严格执行策略,实盘却因为恐惧而提前平仓,或者因为贪婪而过度持仓。这种心理差异是任何模拟环境都无法模拟的,也是交易者从模拟转向实盘时必须面对的核心挑战。

文章目录