价格行为分析工具包开发(第二部分):分析注释脚本(基础篇)
「给图表加注释的脚本怎么写」
在 MT5 里做价格行为分析,第一步往往是把关键 K 线、支撑阻力位直接标在图上。与其手动画线,不如写个脚本一次性把注释挂上去,省得每次切换周期都重画。 MQL5 的 Comment() 函数能把字符串打印到图表左上角,但要做持久标注得用 ObjectCreate() 建文本对象。下面这段脚本在最新一根 K 线的收盘价位置创建一个文本对象,内容写死成「PB 信号」,跑完脚本图表上就留痕了。
class=class="str">"cmt">//+------------------------------------------------------------------+ class=class="str">"cmt">//| Script to place a text label on the chart | class=class="str">"cmt">//+------------------------------------------------------------------+ class="macro">#class="kw">property script_show_inputs class="type">void OnStart() { class="type">class="kw">string name="NoteObj"; class="type">class="kw">double price=Close[class="num">0]; class="type">class="kw">datetime time=Time[class="num">0]; ObjectCreate(class="num">0,name,OBJ_TEXT,class="num">0,time,price); ObjectSetString(class="num">0,name,OBJPROP_TEXT,"PB 信号"); ObjectSetInteger(class="num">0,name,OBJPROP_COLOR,clrRed); ChartRedraw(); }
class=class="str">"cmt">//+------------------------------------------------------------------+ class=class="str">"cmt">//| Script to place a text label on the chart | class=class="str">"cmt">//+------------------------------------------------------------------+ class="macro">#class="kw">property script_show_inputs class="type">void OnStart() { class="type">class="kw">string name="NoteObj"; class="type">class="kw">double price=Close[class="num">0]; class="type">class="kw">datetime time=Time[class="num">0]; ObjectCreate(class="num">0,name,OBJ_TEXT,class="num">0,time,price); ObjectSetString(class="num">0,name,OBJPROP_TEXT,"PB 信号"); ObjectSetInteger(class="num">0,name,OBJPROP_COLOR,clrRed); ChartRedraw(); }
◍ 把盘面关键数据压进一张投影表
做价格行为的人最怕来回切周期找昨天的开盘收盘、高低点和量能,这套脚本的思路就是一次跑完把核心字段直接投到图表左侧,省掉手动比对。它会在当前图加载后画出前一日开盘价、收盘价、最高价、最低价,以及自动识别的重要支撑阻力线,并在纵向数据表里列出来。 除了画线,脚本还会吐一段市场状态注释,比如波动区间是否被压缩、量能相对前值是放大还是萎缩,给日内方向判断提供背景。注意外汇和贵金属杠杆高、滑点大,投影只降低信息整理成本,不替代你的入场风控。 真正能落地的动作很简单:开 MT5 把脚本拖进 EURUSD 的 H1,看左侧表里的前日收盘和阻力线是否和你的 PB 结构重合,不一致就别硬做。
成交量和前日价位为什么值得盯
做方向判断最费时的,往往是翻历史数据、手动算关键位。这个脚本把前一日的开盘、收盘、最高、最低和阻力支撑直接画在图上,几秒内就能看完,不用自己筛。 它把当日成交量和前一日成交量放在一起比。成交量反映市场参与度:今日量明显高于昨日,说明活跃资金进场,波动可能放大,现有趋势(涨或跌)被加强的概率更高。外汇和贵金属杠杆高、回撤快,这种放量信号只能当作概率参考,不是方向保证。 前日高低价其实是心理位——碰到了容易涌出买卖压。图表上自动标线加上注释框,省掉来回切窗口的麻烦,适合快速定计划。新手也能借它弄懂价量怎么影响后面的走势。
「自动抓取前日关键位的脚本思路」
有个 MQL5 脚本能直接在 MT5 里把前一个交易日的数据拉出来,顺手算好关键技术水平。你不用再手动翻日线记开盘收盘,省下的时间能多盯几套策略。 它干了两件事:一是从交易平台取前一日行情,算出并画出前日开盘价、收盘价、关键阻力与支撑,以及价格对这些位的反应;二是在图表上做注释,当成即时参考贴在上面。图里能看到 MT5 图表上那些水平线和文字标签就是脚本输出的。 想验证就开 MT5 跑一遍:挂上脚本后切到日线,看它标出的前日开收和阻撑是否和手动读数的位置一致。外汇和贵金属波动大、杠杆高,这类辅助只管读数,不替你做方向判断。