Termos de Referência
需要一个直观的交易面板,用于手动输入手数、通过图表上的可拖动止损线实时预览预计亏损,并执行市价单。面板使用 EasyAndFastGUI 2.0 库开发,界面布局如下:
```
+-----------------------------------------------------+
| ****** |
+-----------------------------------------------------+
| LOTS [ 0.01 ] |
+-----------------------------------------------------+
| [ BUY ] [ SELL ] |
+-----------------------------------------------------+
| (买入或卖出) $352.0 | 0.48% |
+-----------------------------------------------------+
| 一键复位 |
+-----------------------------------------------------+
```
核心功能需求
1. 界面元素
· 标题栏:显示“随意”。
两个大一点红蓝颜色的买卖按钮,手数输入框放在中间,想官方面板那样的布局
· 状态显示行:显示两个数值——预计亏损金额(以账户货币显示,如 $352.0)和预计亏损百分比(相对于账户余额,如 0.48%)。
· 底部按钮:居中显示“一键复位”。
2. 一键复位功能(生成可拖动止损线)
· 点击“一键复位”按钮,在图表上创建或重置一条水平虚线(止损线):
· 颜色:红色。
· 可拖动:用户可以用鼠标拖动该线改变价格位置。
· 初始位置:当前最新价格(Ask 或 Bid 的平均值)附近。
· 拖动时的实时风险预览:
· 当用户拖动止损线时,系统应根据当前手数输入框的值和线的最新价格,实时计算并更新状态显示行中的“预计亏损金额”和“预计亏损百分比”。
· 由于预计亏损依赖于交易方向(买入或卖出),建议让显示行显示自动识别方向Buy side亏损”或“Sell side亏损”),或者采用其他直观的设计,让用户在拖动线前明确方向。开发者可在投标时提出具体设计方案。
· 计算公式(以买入为例):
按照官方的计算标准实时计算显示亏损,要和实盘亏损金额一致
3. 下单逻辑
· 用户设定好手数、方向,并将止损线拖动到期望位置后,点击“BUY”或“SELL”执行市价单。安全细节补齐和官方一致
· 下单时自动为订单设置止损价:止损价 = 当前止损线的价格。止盈价暂不设置(0)。
· 下单成功后,止损线消失,亏损金额为0,手数输入框默认显示当前品种的最小手数,不手动输入仓位,拖动止损线就计算默认的仓位
4. 实时更新
· 当手数输入框内容改变时,止损线被拖动立即重新计算预计亏损并更新显示。信息显示要流畅不卡顿,(不手动改变数值时是只计算默认值)
· 计算应考虑账户货币与报价货币的汇率转换(如有必要)。
5. 其他要求
排版规整居中对齐,亏损显示字体显示明显一些
下单成功后要有声音反馈。错误反馈,等和官方面板的那样
· 面板应可拖动,位置记忆(保存到全局变量,下次加载时恢复)。
· 使用 EasyAndFastGUI 2.0 库实现,确保界面美观、响应迅速。
· 兼容 MQL5(MT5),运行时需检测当前图表品种。
技术需求
· 编程语言:MQL5
· 必须使用 EasyAndFastGUI 2.0 库(开发者需提供该库文件,或确保项目能正常编译)。
· 代码结构清晰,注释充分,便于后续维护
交付物
· 完整的源代码(.mq5 文件)。
· 编译后的可执行文件(.ex5)。
· 简单使用说明(文本)。
备注
· 关于方向选择与预计亏损的计算逻辑,请开发者在投标时提出设计方案,确保交互直观、符合用户预期。双方可在沟通中进一步明确细节