EA-35056 · 辅助工具
IsConnected
这个EA在循环中监控终端与交易服务器的连接状态,每当连接状态发生变化时打印'Online'或'Offline'消息。它使用CTerminalInfo检测连接状态转换,并记录连接和断开的时间戳。它纯粹是一个监控工具,没有任何交易功能。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
此EA不涉及任何交易策略,它是一个纯连接状态监控工具。其核心逻辑是在一个while循环中每秒轮询终端的连接状态,通过比较当前状态与前一状态来检测连接变化。当检测到从离线变为在线时,记录Connect_Start时间;当检测到从在线变为离线时,记录Connect_Stop时间。该工具不执行任何入场或出场操作,不涉及仓位管理和资金管理。它通过first标志来处理首次运行时的状态初始化,确保第一次状态变化能被正确捕获。整体实现简单直接,仅用于诊断和监控目的。
优势
- 实现简单直接,逻辑清晰易懂
- 可以实时监控连接状态变化,便于排查网络问题
- 记录了连接和断开的时间戳,有助于事后分析网络稳定性
劣势
- 使用阻塞式while循环和Sleep,会占用EA线程导致其他EA事件无法处理
- 连接状态变化时打印的消息存在逻辑混淆:在线时先打印'Offline',离线时先打印'Online'
- 没有使用事件驱动方式(如OnTimer),资源利用效率低下
改进建议
- 应改用OnTimer事件驱动方式替代阻塞式循环,避免占用EA线程
- 修复打印消息的逻辑错误,确保状态变化时输出正确的在线/离线信息
风险评估
总体风险: 安全
- 阻塞式循环会阻止EA处理其他事件(如deinit),可能导致终端无法正常移除EA
- 首次运行时Pre_IsConnected初始化为true,如果首次检测时已连接则不会触发状态变化通知
评估得分
代码质量2.0
策略逻辑1.0
风险管理5.0
稳健性2.0
创新性1.0
文档1.0
综合2.0
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Sleep interval | 1000ms | 轮询连接状态的时间间隔(毫秒) |
first | true | 首次运行标志,用于初始化状态比较 |
Now_IsConnected | false | 当前连接状态 |
Pre_IsConnected | true | 前一次连接状态 |
同类 EA:辅助工具
回测是历史模拟,不代表未来收益,不构成投资建议。