【十五指标面板】一个纯显示的「多周期多指标信号看板」
一个纯显示的「多周期多指标信号看板」——不画任何指标线、自身无任何缓冲区,只用一堆屏幕文字对象(OBJ_LABEL)拼出一张「15 指标 × 9 周期」的信号矩阵,右下角给一个综合多空百分比。
基本档案
- 类型:MT4 指标,indicator_separate_window(独立子窗口),全部用 OBJ_LABEL 绘制
- 结构:init() 只算点值;deinit() 里 338 行 ObjectDelete 清理;start() 调 15 个子函数各画一行、最后汇总百分比
- 规模:约 5620 行源码,创建 150+ 个图表对象
- 配色:红=多头/涨,绿=空头/跌;箭头用 Wingdings 字符 217/218(上、下箭头)
画面有什么
- 左侧矩阵:15 行指标 × 9 列周期(M1 / M5 / M15 / M30 / H1 / H4 / D1 / W1 / MN1),每格一个 ▲ 或 ▼
- 右侧汇总区:大字百分比(35 号 Arial Black,>0 红、<0 绿);一个大箭头 +「上涨-趋势 / 下跌-趋势」文字;实时 BID(比上 tick 高显红、低显绿);今日 HIGH / LOW
15 个指标的判定规则
- RSI 21:>50 多,<50 空
- Parabolic SAR:收>SAR 多,收<SAR 空
- MACD 12/26/9:主线>0 且信号线>0 多,两线都<0 空
- Stochastic 5/3/3:K>50 且 D>50 多,两线都<50 空
- MA 100:收>MA 多,收<MA 空
- CCI 14:>0 多,<0 空
- RVI 10:主线>0 且信号线>0 多,两线都<0 空
- Bollinger 20:收>中轨多,收<中轨空
- WPR 14:>−50 多,<−50 空
- Pivot:(H+L+C)/3 枢轴,Bid>枢轴多,Bid<枢轴空
- DeMarker 8:>0.5 多,<0.5 空
- MFI:>50 多,<50 空
- Bull Bear Candle:收>开(阳)多,收<开(阴)空
- AC:>0 多,<0 空
- Envelopes 14:收>上轨多,收<下轨空
百分比怎么算(重点)
- 每个格子命中多头记 +0.74074074,空头记 −0.74074074(=100÷135)。135 个值相加就是大字显示的数,范围 −100%~+100%。
- 本质:(多头票数 − 空头票数)÷ 135 × 100。M1 和 MN1 权重完全一样,不区分周期大小——反映的是「一致性广度」,不是「趋势强度」。
已确认的坑
- MFI 参数失效:iMFI 里硬用了 WPR 的 14,而不是 MFI_PERIOD(20),改 MFI_PERIOD 无反应。
- RVI 参数失效:周期硬编码成 10,没用 RVI_PERIOD。
- 中性态会留陈旧票:MACD/STOCH/RVI/Envelopes 是「两线同侧」才出信号,跨越阈值时格子不出箭头,但那个全局变量不清零,会带旧值继续求和——百分比里混着过期票。
- 作者水印删不掉:GetAvtor() 在 STOCH 和 AC 里被调用,画出滚动变色的 WeChat:QChao001;而 deinit 只清理 Market_Price_Label* 和指标名对象,没清 label1~label17——删指标后这行水印残留在主图上。
- 窗口编号硬编码:大量对象建在 window 1,箭头用 WindowFind("多指标面板")。一旦重命名文件,WindowFind 返回 −1,箭头画到主图上;图上有多个子窗口指标也可能串窗。
- SHIFT 默认全 0:取当前未收盘 K 线,信号随价格实时翻转会「闪」。想稳定把 SHIFT 改成 1。
- EA 没法直接调用:没有任何 buffer,iCustom 取不到。想给 EA 用只能照规则重写或写进 GlobalVariable。
- 性能:每个 tick 跑 200+ 次 iXXX()(含 W1/MN1 上的 MA100、布林等),慢 VPS 或多图同挂有开销。
使用建议:当「多周期共振扫描器」挺顺手——一眼看出 9 个周期里多少指标站同一边。但别把百分比当胜率:等权、含当前未收盘 K 线、还混中性态陈旧票。真要拿来做过滤,先把所有 SHIFT 设成 1。 |
|
|
|
|
|
|
|
DD
D
DDD
都要MT5啊,我来找找 |
|
|
|
|
|
|
|
D