You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MQL4中1分钟时间框架下获取当日最高价及指标验证问询

关于MQL自定义指标获取当日最高价的问题解答

一、你的代码是否能返回当日最高价?

current_day_high = iHigh(0, PERIOD_D1, 0); 这段代码完全可以正确返回当日最高价。
原理很直接:iHigh()的第二个参数指定了周期为日线(PERIOD_D1),第三个参数0代表当前正在运行的日线K线。在1M时间框架下,每根新的1分钟K线生成时,这段代码都会读取当前日线的实时最高价——盘中价格创出新高时数值会同步更新,当日收盘后就固定为最终的日线最高价,完全符合你要的“当日持续更新直至达到最高价后保持稳定”的需求。

二、如何验证指标数值是否符合预期?

给你几个实用的验证方法:

  • 对照原生行情数据:切换到日线周期查看当前K线的最高价,再切回1M周期看你的指标数值,两者必须一致;也可以直接看MT4/MT5行情报价窗口里的“当日最高”字段,实时比对。
  • 打印日志到终端:在指标代码里加一行Print()输出,把时间和计算值打到终端的“专家”标签页,方便实时核对:
    Print("当前时间: ", TimeCurrent(), " 当日最高价: ", current_day_high);
    
  • 图表可视化验证:把指标输出值绘制成图表上的水平线,用PlotIndexSetString()设置绘图样式,这样你能直观看到这条线是否随盘中新高同步抬升,收盘后保持固定。

三、如何存储指标数值以核对计算结果?

有两种常用的存储方式:

  • 写入本地文本文件:用文件操作函数把时间、当日最高价记录到本地文件,收盘后可以逐行核对:
    int fileHandle = FileOpen("DayHighLog.txt", FILE_WRITE|FILE_TXT);
    if(fileHandle != INVALID_HANDLE){
        FileWrite(fileHandle, TimeToStr(TimeCurrent()), current_day_high);
        FileClose(fileHandle);
    }
    
  • 使用全局变量存储:如果只需要在当前MT4/MT5会话内保存,可以把数值存为全局变量,之后通过“工具-全局变量”窗口查看:
    GlobalVariableSet("CurrentDayHigh_" + TimeToStr(TimeCurrent(), DATE), current_day_high);
    

内容的提问来源于stack exchange,提问作者Aidana Bolat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 20:43:21