MT5指标编译通过 · EX5 11KB 15 1

交易盈亏实时显示指标

qiangpeng0202·2 天前发布

主图左上角显示今日/周/月累计盈亏,绿色盈利、红色亏损

交易盈亏实时显示指标

MT5 真机运行截图 · 服务器把编译好的 EX5 挂到黄金 H1 图表上截的,你装上去看到的就是这个样子

DailyPnLDisplay.mq5预览 35 / 164 行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#property copyright "XAUOF 指标工坊"
#property version "1.00"
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots 0

// ===== 参数设置 =====

input int FontSize = 14;              // 字体大小(推荐:12-16)

input color TextColor = clrWhite;     // 文字颜色


// ===== 全局变量 =====

string labelPrefix = "PnL_";
datetime lastUpdateTime = 0;

//+------------------------------------------------------------------+

//| 初始化                                                             |

//+------------------------------------------------------------------+

int OnInit()
{
   return INIT_SUCCEEDED;
}

//+------------------------------------------------------------------+

//| 主计算函数                                                         |

//+------------------------------------------------------------------+

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])

已显示前 35 行,共 164 行。完整源码仅对 xauusd.team VIP 开放查看与复制。

开通 VIP 查看完整源码
MT5 运行截图 · 完整视图带价格轴和时间轴的整张图表(约 150 根 H1 K 线),上面的封面是它最近 80 根 K 线的放大视图
交易盈亏实时显示指标 在 MT5 上的真实截图

作品说明

问题确认:CORNER_LEFT_TOP 在 MQL5 中应该是 CORNER_LEFT_UPPER。我重新检查了所有常量和函数,修正错误并验证语法。

修正点:第 152 行 OBJPROP_CORNER 设为 0(等同于 CORNER_LEFT_UPPER),这是 MQL5 的正确写法。

使用说明

  1. 安装:保存为 DailyPnLDisplay.mq5,放入 MQL5\Indicators 文件夹,重启 MT5。
  2. 使用:拖入任何图表,左上角显示今日/周/月盈亏。
  3. 颜色:绿色盈利,红色亏损。
  4. 参数:FontSize 调字体大小,TextColor 改文字颜色。
  5. 更新频率:每秒自动刷新,统计已平仓订单。
  6. 多图表:可在多个图表同时使用。
  7. 数据范围:只显示当前账户的历史交易。
  8. 注意:不含浮动盈亏,仅统计已平仓订单。
✅ 自动修复后已通过服务器编译校验(共修 2 轮)。

AI 解读根据源码逐行分析写成,供参考,以实际运行为准

这是什么

这是一个账户盈亏监控指标,装在MT5图表上后,会在左上角实时显示你的累计交易盈亏。分三行展示:今日盈亏、本周盈亏、本月盈亏,每一行都显示金额和占账户余额的百分比。盈利显示绿色,亏损显示红色,帮助交易者快速掌握账户状态。

逻辑原理

指标每秒钟扫描一遍账户的成交历史,统计所有已平仓的BUY和SELL订单的利润。根据成交平仓时间,分别统计三个时间段的盈亏:

  • 今日:从当天00:00:00到现在
  • 本周:从本周一00:00:00到现在
  • 本月:从本月1号00:00:00到现在

然后用盈亏金额除以账户余额,得出百分比。注意:指标只统计已平仓的订单,不包含浮动盈亏(持仓中的单子)。

参数说明

  • FontSize(默认值:14):左上角文字的大小。推荐范围12-16,根据你的屏幕分辨率调整。
  • TextColor(默认值:clrWhite 白色):文字的基础颜色。注意这个颜色会被盈亏状态覆盖——无论你设什么,盈利始终显示绿色,亏损始终显示红色。

怎么用

  1. 将源码保存为 DailyPnLDisplay.mq5
  2. 放入MT5的 MQL5\Indicators 文件夹
  3. 重启MT5或在导航器里刷新指标列表
  4. 拖入任何图表(任何品种、任何周期)
  5. 左上角就会显示三行数据,每秒自动更新

如果想调整字体大小或其他外观,在指标参数里修改FontSize就行。

适用场景

适合所有想快速查看账户日/周/月盈亏的交易者,尤其是做短线或日内交易的人。可以挂在任何品种、任何周期的图表上,数据是账户级别的,不受图表品种和周期影响。比如你可以在XAUUSD小时图看,也可以在EURUSD日线图看,数据都是一样的——因为统计的是整个账户的成交历史。

风险提示

  • 只统计已平仓订单:持仓中的浮动盈亏不包含在内。如果你想看包括浮动盈亏的总资产回撤,需要配合账户余额和持仓profit另外计算。
  • 时间计算基于服务器时间:如果你的交易服务器在伦敦或纽约,"今日"的起点就是服务器的00:00,不是你本地时间。
  • 多个图表显示相同数据:在多张图表上都挂这个指标,显示的是同一个账户的数据,会重复计算。如果想监控多账户,需要用不同的账户登录。
  • 历史数据完整性:指标统计的是账户历史,如果你删除了账户历史或切换了账户,数据会重新统计。

常见问题

这个指标会重绘吗?
不会。指标只根据已平仓订单的历史记录计算,历史成交不会改变,所以显示的数据不会重绘。
为什么浮动盈亏不包括在内?
代码里指标只统计DEAL_TYPE_BUY和DEAL_TYPE_SELL的已平仓交易。浮动盈亏属于持仓订单,不在统计范围内。如果需要看包含浮动的总盈亏,需要自己额外计算。
可以用在黄金(XAUUSD)以外的品种吗?
可以。指标统计的是账户级别的成交,不限制品种。装到任何品种的图表上都能看到全账户的盈亏数据。
参数默认值适合什么情况?
FontSize默认14号字体适合1080p及以上分辨率的屏幕,白色文字在大多数图表背景下也清晰。如果你用2k或4k屏幕,可以调大;用较小分辨率可以调小。
能同时在多个MT5账户使用吗?
每个账户登录MT5后独立使用这个指标,显示该账户的数据。如果你想监控多个账户的盈亏,需要分别登录每个账户。

MT5 Real-time Daily PnL Display Indicator

A MetaTrader 5 indicator that displays cumulative profit/loss for today, current week, and current month in the top-left corner of the chart. Shows values in both absolute amount and percentage, with green for profits and red for losses, updating every second based on closed trades.

A short source preview is shown above for visitors; full source, copy and compiled EX5 files are available to VIP members.

评论

后可以留言,比如反馈用着怎么样、想加什么功能。

还没有人评论,来抢个沙发。