交易盈亏实时显示指标
主图左上角显示今日/周/月累计盈亏,绿色盈利、红色亏损
MT5 真机运行截图 · 服务器把编译好的 EX5 挂到黄金 H1 图表上截的,你装上去看到的就是这个样子
#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 查看完整源码作品说明
问题确认:CORNER_LEFT_TOP 在 MQL5 中应该是 CORNER_LEFT_UPPER。我重新检查了所有常量和函数,修正错误并验证语法。
修正点:第 152 行 OBJPROP_CORNER 设为 0(等同于 CORNER_LEFT_UPPER),这是 MQL5 的正确写法。
使用说明
- 安装:保存为
DailyPnLDisplay.mq5,放入MQL5\Indicators文件夹,重启 MT5。 - 使用:拖入任何图表,左上角显示今日/周/月盈亏。
- 颜色:绿色盈利,红色亏损。
- 参数:
FontSize调字体大小,TextColor改文字颜色。 - 更新频率:每秒自动刷新,统计已平仓订单。
- 多图表:可在多个图表同时使用。
- 数据范围:只显示当前账户的历史交易。
- 注意:不含浮动盈亏,仅统计已平仓订单。
✅ 自动修复后已通过服务器编译校验(共修 2 轮)。
AI 解读根据源码逐行分析写成,供参考,以实际运行为准
这是什么
这是一个账户盈亏监控指标,装在MT5图表上后,会在左上角实时显示你的累计交易盈亏。分三行展示:今日盈亏、本周盈亏、本月盈亏,每一行都显示金额和占账户余额的百分比。盈利显示绿色,亏损显示红色,帮助交易者快速掌握账户状态。
逻辑原理
指标每秒钟扫描一遍账户的成交历史,统计所有已平仓的BUY和SELL订单的利润。根据成交平仓时间,分别统计三个时间段的盈亏:
- 今日:从当天00:00:00到现在
- 本周:从本周一00:00:00到现在
- 本月:从本月1号00:00:00到现在
然后用盈亏金额除以账户余额,得出百分比。注意:指标只统计已平仓的订单,不包含浮动盈亏(持仓中的单子)。
参数说明
- FontSize(默认值:14):左上角文字的大小。推荐范围12-16,根据你的屏幕分辨率调整。
- TextColor(默认值:clrWhite 白色):文字的基础颜色。注意这个颜色会被盈亏状态覆盖——无论你设什么,盈利始终显示绿色,亏损始终显示红色。
怎么用
- 将源码保存为
DailyPnLDisplay.mq5 - 放入MT5的
MQL5\Indicators文件夹 - 重启MT5或在导航器里刷新指标列表
- 拖入任何图表(任何品种、任何周期)
- 左上角就会显示三行数据,每秒自动更新
如果想调整字体大小或其他外观,在指标参数里修改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.
评论
还没有人评论,来抢个沙发。