TradeAssist Risk Panel MT5:应用程序说明
产品:TradeAssist Risk Panel MT5
版本:v1.10
平台:MetaTrader 5
类型:手动交易辅助面板 / Expert Advisor
Market 产品链接:
TradeAssist Risk Panel MT5 是一款用于 MetaTrader 5 的手动交易辅助面板。它不提供交易信号,不预测行情方向,也不会自动判断应该买入还是卖出。
用户负责交易判断,TradeAssist 负责辅助执行和风险显示:
1. 下单前显示账户余额、净值、点差、计划手数、预估风险、预估保证金和盈亏比。
2. 通过 Entry / SL / TP 图表线规划交易。
3. 支持市价 Buy / Sell。
4. 支持 Buy Limit、Buy Stop、Sell Limit、Sell Stop 四类挂单。
5. 支持当前范围内持仓管理和平仓。
6. 支持部分平仓。
7. 支持立即保本 BE Now。
8. 支持自动 Break Even。
9. 支持 Trailing Stop。
10. 支持持仓详情窗口。
11. 支持可选微信和 Telegram 通知。
12. 默认只管理当前图表品种 + TradeAssist magic number,降低误操作其他订单的风险。
TradeAssist v1.10 是轻量级免费风控面板,不是完整的多品种交易工作站。OCO、虚拟挂单、虚拟 SL/TP、多目标自动分批止盈、时间管理器和多品种管理台不属于 v1.10 范围。
管理范围和 Magic Number
TradeAssist 使用 InpMagicNumber 区分自己的订单和其他订单。
默认管理范围:
1. 当前图表品种。
2. magic number 等于 InpMagicNumber 的持仓和挂单。
手动单默认不纳入管理范围。如果你希望把当前品种的手动单也纳入 Close、Set SLTP、BE Now、Partial Close、Trailing Stop 等管理动作,需要开启:
InpManageManualPositions = true
默认安全参数:
InpManageManualPositions = false
InpAllowAccountWideActions = false
如果你把 TradeAssist 挂到多个图表,并希望每个图表独立管理自己的订单,请为不同图表设置不同的 InpMagicNumber。
Trade 选项卡
Trade 选项卡用于下单前的风险计算、图表线控制、市价单和挂单。
图 1 编号说明:
1. 余额
显示账户 Balance。余额不包含当前浮盈浮亏。
如果 InpUseEquityBase=false,Risk % 模式会以余额作为风险计算基数。
2. 净值
显示账户 Equity。净值包含当前浮盈浮亏。
默认 InpUseEquityBase=true,Risk % 模式以净值作为风险计算基数。
3. 品种和点差
显示当前图表品种和当前点差。例如:
品种 EURUSD 点差 9
点差单位是 points。如果设置了 InpMaxSpreadPoints 且当前点差超过限制,TradeAssist 会阻止下单。
4. 交易选项卡
当前页面。用于风险计算、显示辅助线、Buy / Sell、市价单和挂单。
5. 管理选项卡
切换到持仓管理页面。里面有持仓详情、平仓、部分平仓、Set SLTP、BE Now 和删除挂单。
6. 通知选项卡
切换到通知页面。里面有测试微信和测试 Telegram 按钮。
7. 风险模式按钮和风险值输入框
图中显示“风险%”。点击后会在三种模式之间循环切换:
风险%:按账户余额或净值百分比计算手数。
金额:按固定风险金额计算手数。
手数:用户直接输入手数。
风险值输入框的数字含义取决于风险模式:
风险% 模式:1.00 表示 1%。
金额模式:1.00 表示固定风险金额 1 个账户货币单位。
手数模式:1.00 表示 1.00 lot。
8. 手数和风险预览
示例:
手数 12.24 风险 3 672.00
手数 12.24:当前计划下单 lot。
风险 3 672.00:如果价格到达 SL,按当前计划估算的亏损金额。
如果显示“手数 -- 风险 --”,表示当前风险计算无效。常见原因包括没有有效 SL、SL 方向错误、手数低于最小值、保证金不足或品种属性不可用。
9. 保证金和盈亏比预览
示例:
保证金 14 212.97 盈亏比 2.00
保证金 14 212.97:当前计划手数的预估保证金占用。
盈亏比 2.00:Reward / Risk,表示预估收益约为预估风险的 2 倍。
10. 买入按钮
执行市价 Buy。
当“辅助线 开”时,Buy 使用图表上的 SL 和 TP 线。
当“辅助线 关”时,Buy 使用默认 SL / TP 点数参数。
默认会弹出确认框。
11. 卖出按钮
执行市价 Sell。
当“辅助线 开”时,Sell 使用图表上的 SL 和 TP 线。
当“辅助线 关”时,Sell 使用默认 SL / TP 点数参数。
默认会弹出确认框。
12. 辅助线按钮
显示或隐藏 Entry / SL / TP 图表线。
图中显示“辅助线 关”,表示当前图表线未显示。点击后会变成“辅助线 开”。
13. 买限价
下 Buy Limit 挂单。Entry 线必须低于当前 Ask。
使用 Entry、SL、TP 三条图表线作为挂单价格、止损和止盈。
14. 买突破
下 Buy Stop 挂单。Entry 线必须高于当前 Ask。
使用 Entry、SL、TP 三条图表线。
15. 卖限价
下 Sell Limit 挂单。Entry 线必须高于当前 Bid。
使用 Entry、SL、TP 三条图表线。
16. 卖突破
下 Sell Stop 挂单。Entry 线必须低于当前 Bid。
使用 Entry、SL、TP 三条图表线。
17. Magic number 和手动单状态
Magic 26050801:当前管理和下单使用的 magic number。
手动单 关:当前不会管理手动单。
18. 状态
OK 风险预览就绪:当前风险计算状态正常,可以继续检查并下单。
风险模式详细说明
1. 风险% 模式
当风险模式显示“风险%”时,风险输入框的数字表示账户基数百分比。
示例:
净值 = 10,000
风险输入 = 1.00
风险预算 = 100
如果 InpUseEquityBase=true,使用净值计算。
如果 InpUseEquityBase=false,使用余额计算。
2. 金额模式
当风险模式显示“金额”时,风险输入框的数字表示固定风险金额。
示例:
风险输入 = 100.00
含义 = 本次计划最大风险约 100 个账户货币单位
3. 手数模式
当风险模式显示“手数”时,风险输入框的数字表示直接下单手数。
示例:
风险输入 = 0.10
含义 = 使用 0.10 lot
Manual Lot 不代表没有风险。面板仍会根据 Entry、SL、TP 显示预估风险、预估收益和盈亏比。
Manage 选项卡
Manage 选项卡用于查看和管理当前范围内的持仓和挂单。
图 2 编号说明:
1. 持仓详情
打开持仓详情 UI 窗口。再次点击会关闭该窗口。
持仓详情窗口显示 ticket、方向、手数、开仓价、SL、TP、点数、盈亏和 magic。
2. 持仓摘要行
示例:
持仓 0 点数 +0 盈亏 0.00
持仓 0:当前管理范围内持仓数量。
点数 +0:当前管理范围内持仓的加权平均盈亏点数。
盈亏 0.00:当前管理范围内持仓浮动盈亏金额。
3. 持仓简要信息
如果显示“无 TradeAssist 持仓”,表示当前 symbol + magic 范围内没有 TradeAssist 持仓。
4. 平当前
平掉当前图表品种中,符合当前 scope 的持仓。不会处理其他品种。
5. 全平
平掉当前 scope 内所有持仓。默认不是全账户平仓,而是当前品种 + magic 范围。
6. 平盈利
只平当前 scope 内浮盈大于 0 的持仓。亏损持仓不会处理。
7. 平亏损
只平当前 scope 内浮亏小于 0 的持仓。盈利持仓不会处理。
8. 平 25%
对当前 scope 内每笔持仓按自身手数平掉 25%。每笔都会检查经纪商最小手数和 volume step。
9. 平 50%
对当前 scope 内每笔持仓按自身手数平掉 50%。
10. 自定义百分比输入框
图中显示 50.0,表示自定义部分平仓比例是 50%。可以在面板上修改。
11. 自定义%
按编号 10 输入的百分比执行部分平仓。
12. 设止盈止损
把当前图表 SL / TP 线应用到当前 scope 内的已有持仓。执行前会检查方向、broker stop level / freeze level,并弹出确认框。
13. 立即保本
立即尝试把当前 scope 内持仓的 SL 移动到保本位置。使用 InpBreakEvenOffsetPoints 作为偏移点数。
14. 删挂单
删除当前 scope 内匹配的挂单。执行前会弹出确认框。
图 2 中的数字代表什么:
持仓 0:当前管理范围内持仓数量。
点数 +0:当前管理范围内持仓的加权平均盈亏点数。
盈亏 0.00:当前管理范围内持仓浮动盈亏。
25% / 50%:每笔持仓按自身当前手数计算部分平仓比例。
50.0:自定义部分平仓比例,单位是百分比。
所有平仓、改仓、BE Now、删除挂单动作默认都会弹出确认框。点击确认前请检查受影响数量和 scope。
持仓详情窗口
点击 Manage 选项卡中的“持仓详情”会打开持仓详情窗口。这个窗口是 TradeAssist 自己绘制的 UI 窗口,不是系统 MessageBox。它可以拖动,并且不会自动关闭。
持仓详情窗口列说明:
单号:持仓 ticket,用于在 MT5 Trade 标签或日志中定位持仓。
方向:Buy 或 Sell,中文显示买入或卖出。
手数:当前持仓手数。
开仓:持仓开仓价。
止损:当前 Stop Loss。
止盈:当前 Take Profit。
点数:当前持仓盈亏点数。Buy 使用 Bid 计算,Sell 使用 Ask 计算。
盈亏:当前持仓浮动盈亏金额。
Magic:持仓 magic number。
如果当前范围没有持仓,会显示“当前范围无持仓”。
Notify 选项卡
Notify 选项卡用于测试微信和 Telegram 通知。通知功能默认关闭,不影响交易功能。
图 3 编号说明:
1. 测试微信
发送微信测试消息。不会执行任何交易动作。
需要开启通知参数,并配置通知服务器和 WebRequest 白名单。
2. 测试TG
发送 Telegram 测试消息。不会执行任何交易动作。
需要配置 InpTelegramBotToken 和 InpTelegramChatId,并添加 Telegram WebRequest 白名单。
通知状态行示例:
通知 WX 关 TG 关 Q0
状态含义:
WX 关:微信通知未启用或未准备好。
WX 等待:微信通知已启用,但仍在等待配对或状态确认。
WX 配对:微信通知需要完成配对流程。
WX 开:微信通知已启用并可用。
TG 关:Telegram 未启用或 token/chat id 不完整。
TG 开:Telegram 已启用且必要参数存在。
Q0:通知队列中待处理消息数量是 0。
启用通知前,需要在 MT5 中添加 WebRequest 白名单:
Tools -> Options -> Expert Advisors -> Allow WebRequest for listed URL
常用 URL:
通知失败不会阻塞 Buy、Sell、Close、Set SLTP、BE Now、Partial Close 或 Trailing Stop。
Entry / SL / TP 图表线
打开“辅助线”后,图表上会显示 Entry、SL、TP 三条基础水平价格线,同时显示 TP、Entry、SL 三个标签框和风险/收益区域。
图 4 编号说明:
1. 止盈标签框 / TP 标签
示例:
止盈 166 | +3718.40 USD | 盈亏比 1.01 | 1.16647
止盈 166:Entry 到 TP 的距离,单位 points。
+3718.40 USD:如果价格到达 TP,按当前手数估算的盈利金额。
盈亏比 1.01:预估收益 / 预估风险。1.01 表示接近 1:1。
1.16647:TP 价格。
2. 入场标签框 / Entry 标签
示例:
买入 | 22.40 | 1.16481
买入:当前计划方向。SL 在 Entry 下方时识别为 Buy;SL 在 Entry 上方时识别为 Sell。
22.40:当前风险计算得到的计划手数。
1.16481:Entry 价格。
3. 止损标签框 / SL 标签
示例:
止损 164 | -3673.60 USD | 1.16317
止损 164:Entry 到 SL 的距离,单位 points。
-3673.60 USD:如果价格到达 SL,按当前手数估算的亏损金额。
1.16317:SL 价格。
绿色区域表示 Entry 到 TP 的收益区域。
红色区域表示 Entry 到 SL 的风险区域。
对于 Buy 计划:
SL < Entry < TP
对于 Sell 计划:
TP < Entry < SL
TradeAssist 根据 SL 和 Entry 的相对位置判断 Buy 或 Sell。
TP、Entry、SL 三个标签框可以上下拖动。拖动标签框会同步移动对应价格线。三条水平线本身不可直接拖动,这是为了减少误触。
图表线和下单关系:
1. 当辅助线开启时,Buy / Sell 市价单使用当前 SL 和 TP 线。
2. 当辅助线开启时,Buy Limit / Buy Stop / Sell Limit / Sell Stop 使用 Entry、SL、TP 三条线。
3. 当辅助线开启时,“设止盈止损”会把当前 SL 和 TP 线应用到已有持仓。
4. 当辅助线关闭时,市价单使用默认 SL / TP 点数参数。
5. 挂单建议先打开辅助线,确保 Entry / SL / TP 规划清楚。
下单后是否保留图表线由 InpKeepLinesAfterOrder 控制:
InpKeepLinesAfterOrder = true:下单后保留图表线。
InpKeepLinesAfterOrder = false:下单成功后隐藏图表线。
下单和管理确认框
下单、平仓、Set SLTP、BE Now、Partial Close、删挂单等动作默认都会弹出确认框。
确认框通常包含:
动作名称:Buy、Sell、Buy Limit、Set SLTP、BE Now 等。
手数 / Volume:本次交易请求使用的 lot。
Entry / Price:市价单参考当前价格,挂单显示 Entry 线价格。
SL:本次订单或修改动作使用的 Stop Loss。
TP:本次订单或修改动作使用的 Take Profit。
影响数量:受影响持仓数量、挂单数量或平仓 volume。
Scope / 范围:当前动作会处理的范围,例如当前品种 + magic。
点击 Yes 才会执行。点击 No 不执行任何交易请求。
建议新用户保持:
InpConfirmTradingActions = true
BE Now、自动 Break Even 和 Trailing Stop 的区别
1. BE Now
用户点击“立即保本”后立即执行一次。
它会尝试把当前 scope 内持仓的 SL 移动到保本位置。
2. 自动 Break Even
EA 自动检测持仓浮盈是否达到 InpBreakEvenStartPoints。达到后,尝试把 SL 移动到开仓价附近。
Buy 持仓:
目标 SL = 开仓价 + InpBreakEvenOffsetPoints
Sell 持仓:
目标 SL = 开仓价 - InpBreakEvenOffsetPoints
3. Trailing Stop
EA 自动检测持仓浮盈是否达到 InpTrailingStartPoints。达到后,随着价格继续向有利方向移动,按 InpTrailingDistancePoints 移动 SL。
Buy 持仓:
目标 SL = Bid - InpTrailingDistancePoints
Sell 持仓:
目标 SL = Ask + InpTrailingDistancePoints
Trailing Stop 不会把 SL 往更差方向移动:
Buy 持仓的 SL 不会下移。
Sell 持仓的 SL 不会上移。
输入参数说明
下面按程序最新输入参数顺序说明,仅列会影响设置或功能的参数。
基础设置:
InpShowPanel
默认值:true
说明:是否显示主面板。设为 false 时,EA 仍可运行,但不会显示图表面板。
InpLanguage
默认值:TA_LANG_ENGLISH
说明:面板语言。TA_LANG_ENGLISH 为英文,TA_LANG_CHINESE 为中文。
InpConfirmTradingActions
默认值:true
说明:是否显示交易动作确认框。建议保持 true,下单、平仓、改 SLTP、BE Now、部分平仓、删挂单前都会再次确认。
InpTimerSeconds
默认值:1
说明:定时器间隔,单位秒。用于面板刷新、风险预览刷新和通知队列处理。
InpMagicNumber
默认值:26050801
说明:TradeAssist 下单和管理持仓使用的 magic number。默认只管理当前品种 + 这个 magic 的订单。
InpKeepLinesAfterOrder
默认值:true
说明:下单成功后是否保留 Entry / SL / TP 图表线。true 适合连续规划,false 表示下单后隐藏线。
面板界面:
InpPanelTheme
默认值:TA_PANEL_THEME_AUTO
说明:面板主题。可选自动、暗色、亮色。Auto 会根据图表背景自动适配。
InpPanelCompactMode
默认值:false
说明:紧凑模式。适合小图表、VPS、远程桌面或高 DPI 环境。
InpPanelFontSizeOffset
默认值:0
说明:字体大小偏移,程序限制范围为 -3 到 2。负数更小,正数更大。
InpPanelWidth
默认值:300
说明:面板宽度,程序限制范围为 220 到 320。如果文字重叠,可以适当加宽。
InpShowButtonTooltips
默认值:true
说明:是否显示按钮 hover 提示。设为 false 后,鼠标移动到按钮上不会显示提示框。
管理范围:
InpManageManualPositions
默认值:false
说明:是否把当前品种手动单纳入管理范围。默认 false,不会管理手动单。设为 true 后,当前品种手动单会纳入 Close、Set SLTP、BE Now、Partial Close、Trailing Stop 等管理动作。
InpAllowAccountWideActions
默认值:false
说明:账户级行为安全开关,默认关闭。v1.10 的核心默认范围仍是当前 symbol + magic。
风险设置:
InpUseEquityBase
默认值:true
说明:Risk % 模式是否使用 Equity 作为风险基数。true 使用净值,false 使用余额。
InpDefaultRiskMode
默认值:TA_RISK_PERCENT
说明:默认风险模式。TA_RISK_PERCENT 为风险百分比,TA_RISK_FIXED_MONEY 为固定风险金额,TA_RISK_MANUAL_LOT 为手动手数。
InpDefaultRiskPercent
默认值:1.0
说明:默认风险百分比。仅在 Risk % 模式下作为初始值,例如 1.0 表示 1%。
InpDefaultFixedRiskMoney
默认值:100.0
说明:默认固定风险金额。仅在 Fixed Money 模式下作为初始值。
InpDefaultManualLot
默认值:0.10
说明:默认手动手数。仅在 Manual Lot 模式下作为初始值。
InpDefaultSLPoints
默认值:300
说明:Lines OFF 时市价单默认止损距离,单位 points。
InpDefaultTPPoints
默认值:600
说明:Lines OFF 时市价单默认止盈距离,单位 points。
手动管理:
InpDefaultPartialClosePercent
默认值:50.0
说明:自定义部分平仓默认比例。面板“自定义%”按钮使用这个比例,单位是百分比。
交易执行:
InpMaxSpreadPoints
默认值:0
说明:最大允许点差,单位 points。0 表示不启用点差过滤。大于 0 时,当前点差超过该值会阻止下单。
InpDeviationPoints
默认值:20
说明:交易请求允许偏差,单位 points。用于下单、平仓和部分修改请求。
保本设置:
InpBreakEvenEnabled
默认值:true
说明:是否启用自动 Break Even。开启后,EA 会检查当前 scope 内持仓是否达到触发点数。
InpBreakEvenStartPoints
默认值:200
说明:触发自动 Break Even 所需浮盈点数,单位 points。
InpBreakEvenOffsetPoints
默认值:20
说明:保本偏移点数。Buy 目标 SL = 开仓价 + offset;Sell 目标 SL = 开仓价 - offset。
移动止损:
InpTrailingEnabled
默认值:true
说明:是否启用 Trailing Stop。开启后,EA 会检查当前 scope 内持仓是否达到 trailing 启动条件。
InpTrailingStartPoints
默认值:300
说明:开始 trailing 所需浮盈点数,单位 points。
InpTrailingDistancePoints
默认值:150
说明:市价到目标 SL 的距离,单位 points。Buy 目标 SL = Bid - distance;Sell 目标 SL = Ask + distance。
InpTrailingMinIntervalSeconds
默认值:1
说明:同一持仓两次 trailing 修改之间的最小间隔,单位秒,用于避免频繁修改。
通知设置:
InpNotificationsEnabled
默认值:false
说明:通知总开关。默认关闭。关闭时不会发送微信或 Telegram 通知。
InpWeChatEnabled
默认值:false
说明:是否启用微信通知。需要同时启用通知总开关,并配置通知服务器 WebRequest 白名单。
InpNotificationServerUrl
说明:微信通知服务器地址。启用微信通知时,需要加入 MT5 WebRequest 白名单。
InpTelegramEnabled
默认值:false
说明:是否启用 Telegram 通知。需要同时启用通知总开关,并填写 bot token 和 chat id。
InpTelegramBotToken
默认值:空
说明:Telegram bot token。截图或发布参数截图前必须隐藏。
InpTelegramChatId
默认值:空
说明:Telegram chat id。截图或发布参数截图前建议隐藏。
InpNotifyTimeoutMs
默认值:1500
说明:通知请求超时时间,单位毫秒。
InpNotifyMaxRetries
默认值:1
说明:通知失败后的最大重试次数。通知失败不会阻塞交易动作。
常见提示说明
Invalid stops
SL 或 TP 方向错误,或者距离当前市场价格太近,违反 broker stop level / freeze level。
Buy BE SL must be below Bid
Buy 持仓的新 SL 必须低于当前 Bid。如果保本位置太接近当前价格或高于 Bid,经纪商会拒绝。
Sell BE SL must be above Ask
Sell 持仓的新 SL 必须高于当前 Ask。
close volume below minimum
部分平仓计算出的 volume 低于经纪商最小手数。
remaining volume below minimum
部分平仓后剩余手数低于经纪商最小手数。
WebRequest error 4014
相关 URL 没有加入 MT5 WebRequest 白名单。
market closed
当前品种市场关闭或不可交易。
使用建议
1. 第一次使用请在模拟账户测试。
2. 不熟悉流程前保持 InpConfirmTradingActions=true。
3. 不要轻易开启 InpManageManualPositions,除非你明确希望管理手动单。
4. 不要多个图表共用同一个 magic number,除非你明确希望它们管理同一批订单。
5. 每个品种的点值、最小手数、最大手数、手数步进、stop level 和 freeze level 都可能不同。
6. 通知功能默认关闭。通知失败不会阻塞交易,但建议上线前单独测试。
7. 本工具只辅助执行和风险显示,不保证交易结果。


