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

MT4/MT5如何从倒数第50根K线到倒数第2根K线绘制直线?

解决方案:绘制指定区间的水平线段
  • 问题根源:你使用的OBJ_HLINE是无限延伸的水平线对象,这类对象本身会忽略时间范围参数,贯穿整个图表,所以无论怎么传递时间参数都无法限制它的显示范围。
  • 正确做法:改用OBJ_SEGMENT(线段对象),它支持自定义起始和结束的时间、价格坐标,能精准控制线段的显示区间。

示例代码

// 先删除已存在的同名线段,避免重复创建报错
if(ObjectFind(0, "fixed_hline") != -1)
    ObjectDelete(0, "fixed_hline");

// 创建线段:从倒数第50根K线到倒数第2根K线,价格固定为2100
bool createSuccess = ObjectCreate(0, "fixed_hline", OBJ_SEGMENT, 0, Time[50], 2100, Time[1], 2100);

// 可选:设置线段样式(颜色、宽度等)
if(createSuccess)
{
    ObjectSetInteger(0, "fixed_hline", OBJPROP_COLOR, clrDeepSkyBlue);
    ObjectSetInteger(0, "fixed_hline", OBJPROP_WIDTH, 2);
}

关键说明

  • OBJ_SEGMENT是专门用于绘制两点间线段的对象,完全支持时间和价格的范围限制,刚好匹配你的需求。
  • Time[50]对应倒数第50根K线的开盘时间,Time[1]对应倒数第2根K线的开盘时间(注意:Time[0]是当前未闭合的最新K线)。
  • 提前检查并删除同名对象是必要操作,避免因重复创建导致运行错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:12:02