记录
对于用 S# 编写的交易算法的监控,你可以使用专用的 LogManager 类。该类接收 LogMessage 消息,这些消息由 LogManager.Sources 通过 ILogSource.Log 事件发出,并将它们传递给 LogManager.Listeners 监听器。因此,算法代码将能够传递调试信息(例如,操作过程中发生的错误,或关于数学计算的额外信息),而 LogManager 将决定如何向操作者显示这些信息。
通常,S# 包含以下 ILogListener 的实现,其选择会影响从策略接收到的消息将被传递到的位置:
- FileLogListener - 将消息写入文本文件。建议用于已创建的算法,并在不可抗力情况下使用日志。
- ConsoleLogListener - 将信息输出到控制台窗口(如果算法没有窗口,将自动创建)。建议用于调试和测试算法
- DebugLogListener - 将消息输出到调试窗口。可以通过像 DebugView 这样的特殊程序查看该窗口。建议用于调试和测试算法。
- EmailLogListener - 向指定的电子邮件地址发送消息。如果算法位于不受控制的计算机(在主机服务器上),建议使用它。
- GuiLogListener - 通过特殊的 LogControl 窗口显示消息。能够以两种模式工作:所有消息在单一窗口输出,或者为每个 ILogSource 创建单独的窗口。如果算法具有图形界面,建议使用此功能。
LogListener 可以通过 LogListener.Filters 属性配置以过滤消息。例如,通过这些过滤器,你可以指定应处理的消息类型。当使用 EmailLogListener 时,这尤其有用,例如,仅在紧急情况下(交易算法错误)发送电子邮件,而不是在每条调试消息时都发送。