MT4警报推送到手机 - MT4图表自动滚动开关调整方法详解_专业保存:导出为CSV或HST数据

图表自动滚动的本质与默认设置
首先我们要明白,MT4的图表自动滚动功能其实是为了让交易者始终看到最新的行情数据。当新K线生成或价格波动时,图表会自动向右移动,确保当前价格始终位于可视区域的右侧。这个设计初衷是好的,毕竟谁都不想盯着一个静止不动的图表做交易。但问题在于,当你想要回看历史数据、分析支撑阻力位或者绘制趋势线时,自动滚动就会打乱你的工作节奏。
默认情况下,MT4的自动滚动功能是开启的。你打开任何一个货币对或商品的图表,只要行情在跳动,图表就会跟着移动。对于短线交易者来说,这或许不是问题,因为他们需要实时关注价格变化。但是做中长线分析或者手工绘制技术指标时,这个功能就变得非常碍事。我见过不少新手交易者,因为不知道如何关闭自动滚动,在分析过程中频繁手动拖动图表,效率大打折扣。
其实MT4的自动滚动功能并没有一个单独的开关按钮,它隐藏在几个不同的设置项里。很多人以为只有通过右键菜单才能控制,其实不然。理解这些设置的位置和逻辑,才能灵活运用。说实话,我刚开始用MT4时也被这个问题困扰过,后来花了些时间摸索,才发现其中门道。
编写EA核心代码实现时间条件判断
现在我们来写EA的核心部分。首先在MT4的MetaEditor里新建一个EA,然后在OnTick()函数里添加时间判断逻辑。关键是要用到TimeCurrent()函数获取服务器当前时间,再用TimeDayOfWeek()函数判断星期几。比如判断是否是周五,代码就是if(TimeDayOfWeek(TimeCurrent()) == 5)。
接下来是判断具体时间范围。假设你的服务器收盘时间是周六凌晨0点,你想在周五23:55开始平仓,那就可以这样写:if(TimeHour(TimeCurrent()) == 23 && TimeMinute(TimeCurrent()) >= 55)。这里要注意,分钟判断要用大于等于,因为EA可能在23:55:00到23:59:59之间的任一时刻触发。我测试过,最好把时间范围设宽一点,比如从23:50到23:59,避免因为网络延迟错过时机。
实际编写时,你还需要考虑一个细节:如果EA是在周五收盘前才加载的,它应该立即检查当前时间并执行平仓。另外,建议在EA里加一个布尔变量来标记是否已经执行过平仓,防止同一个时间段内重复平仓。比如设置一个bool变量closeExecuted,平仓后设为true,然后在下周一开盘时重置为false。
专业保存:导出为CSV或HST数据
对于需要做深度数据分析的交易者来说,保存为图片可能不够用。比如你想在Excel里对历史数据进行统计,或者用Python写策略回测,这时候就需要把行情数据导出为CSV格式。MT4的导出功能藏在“文件”菜单下的“导出数据”选项里。点击后,会弹出一个对话框,让你选择要导出的时间范围、时间周期和数据类型。
数据类型方面,你可以选择只导出OHLC数据(开盘价、最高价、最低价、收盘价),也可以加上成交量和时间戳。我一般做回测的时候,会导出自定义时间周期的数据,比如把1小时图的数据导出成CSV,然后在Python里用pandas库处理。这个功能对于量化交易者来说简直是神器,因为MT4自带的回测系统毕竟功能有限,很多高级策略需要在外部的专业软件里跑。
除了CSV,MT4还支持导出为HST格式。HST是MetaTrader的历史数据格式,主要用于在不同MT4账户之间迁移数据,或者在MQL4程序里读取。如果你经常换经纪商,或者需要把数据分享给其他用MT4的朋友,这个格式就很实用。不过要注意,HST文件需要用MT4的数据中心工具才能打开,普通电脑打不开。
导出数据的时候,时间范围的选择很重要。默认情况下,MT4只会导出当前图表显示的数据。如果你想导出更长时间的历史数据,比如从2010年到现在的所有日线数据,需要先在图表上把时间范围调大。
具体操作是在图表上右键,选择“属性”,然后在“时间范围”里设置起始日期。我一般会设置成从平台能提供的最早数据开始,这样导出的数据才完整。
实战案例:RSI与均线组合测试
为了更直观地说明,我拿一个简单的RSI和均线策略来演示。假设策略是:当RSI低于30且价格上穿均线时做多,当RSI高于70且价格下穿均线时做空。参数有两个:RSI周期设为7到21,步长2;均线周期设为10到50,步长5。组合数量是8乘9等于72个,运行时间大约15分钟。
测试完后,我按净利润排序,发现RSI周期15、均线周期30的组合净利润最高,达到5.2万美元。但最大回撤是35%,有点高。我又按夏普比率排序,发现RSI周期13、均线周期25的组合夏普比率最高,达到1.8,回撤只有18%。权衡之后,我倾向于选择夏普比率高的组合,因为它兼顾了收益和风险。
接着,我把这72个组合的数据导出到Excel,画了一个热力图。横轴是RSI周期,纵轴是均线周期,颜色深浅代表净利润。可以看到,在RSI周期13到17、均线周期25到35这个矩形区域,颜色最深且均匀,说明这个区域表现稳定。而RSI周期7、MT4下载均线周期10这个角落,颜色很浅,净利润只有几千美元,明显不行。
最后,我用验证集数据测试了RSI周期13、均线周期25这个组合,结果净利润为1.8万美元,虽然比训练集低,但回撤只有15%,胜率也有55%,整体表现不错。这就说明这个参数组合不是过拟合的,可以用于实盘测试。当然,实盘前我还会在模拟账户上跑一段时间,看看实际效果。