模板类库的参数
模板类库也可以设置自己的界面参数,模板类库的参数在模板类库代码中是以全局变量的形式使用的(Rust 中为全局常量)。
例如我们设置了一个模板类库的参数:

| 策略代码中参数的变量名 | 策略界面上显示的参数名称 | 类型 | 默认值 |
|---|---|---|---|
| param1 | 模板参数1 | 数字型(number) | 99 |
Rust模板的参数是常量,只能读取,不能修改,所以下面的例子在 Rust 中只能实现读取参数:
rust
// 模板代码
pub fn GetParam1() -> f64 {
Log!("param1:", param1);
param1
}
rust
// 策略代码
fn main() {
Log!("Calling ext::GetParam1:", ext::GetParam1());
}
示例
-
用于测试
param1参数的模板类库代码:javascript$.SetParam1 = function(p1) { param1 = p1 } $.GetParam1 = function() { Log("param1:", param1) return param1 }pythondef SetParam1(p1): global param1 param1 = p1 def GetParam1(): Log("param1:", param1) return param1 ext.SetParam1 = SetParam1 ext.GetParam1 = GetParam1rust// Rust 模板参数是只读常量,不能修改,读取参数的写法见上文 -
引用以上模板类库例子的策略代码,使用模板类库的导出函数获取参数
param1和修改参数param1。javascriptfunction main () { Log("Calling $.GetParam1:", $.GetParam1()) Log("Calling $.SetParam1:", "#FF0000") $.SetParam1(20) Log("Calling $.GetParam1:", $.GetParam1()) }pythondef main(): Log("Calling ext.GetParam1:", ext.GetParam1()) Log("Calling ext.SetParam1:", "#FF0000") ext.SetParam1(20) Log("Calling ext.GetParam1:", ext.GetParam1())rust// Rust 模板参数是只读常量,不能修改,读取参数的写法见上文