策略入口函数
对于JavaScript、Python、Rust语言的策略,优宽量化交易平台已预先定义了以下入口函数。
| 函数名 | 说明 |
|---|---|
main() | 入口函数,即策略的主函数。 |
onexit() | 正常退出时的扫尾函数,最长执行时间为5分钟,可以不声明;若执行超时,将报interrupt错误。在实盘中,若已先触发onerror()函数,则不会再触发onexit()函数。 |
onerror() | 异常退出时触发执行的函数,最长执行时间为5分钟,可以不声明。使用Python语言编写的策略不支持该函数,回测系统亦不支持该函数。 |
init() | 初始化函数,策略程序在开始运行时会首先自动调用该函数,可以不声明。 |
注意事项
-
当
main()函数执行结束时,所有已创建的子线程都会被自动终止。 -
在
Rust语言策略中,直接定义fn main()、fn init()、fn onexit()即可(由引导层自动调用);也可以在策略代码中调用OnExit()注册额外的退出钩子,详见「Rust策略编写说明」。
本章内容整章阅读
| 名称 | 描述 |
| onexit() | 用户实现的退出处理函数,用于处理程序退出前的扫尾工作,最长执行时间为 5 分钟。 |
| init() | 用户自行实现的初始化函数。 |
| onerror() | 发生异常时触发执行的函数。 |