VARIABLE是简语言中用于定义全局变量的关键字哦~ 全局变量的特点是值不会随Bar跳动(历史行情每根Bar/实时每Tick触发程序时)重置,适合保存需要跨Bar累计的数据。
📌 应用语法:
VARIABLE:变量名1:=初始值1,变量名2:=初始值2,...;
举个常见例子(统计阳线/阴线数量):
VARIABLE:VAR1:=0,VAR2:=0; // 定义全局变量VAR1(阳线数)、VAR2(阴线数),初始为0
IF CLOSE >= OPEN THEN BEGIN
VAR1:VAR1+1; // 阳线时VAR1加1
END
IF CLOSE < OPEN THEN BEGIN
VAR2:VAR2+1; // 阴线时VAR2加1
END
这个例子里,VAR1和VAR2的值会一直累计,不会因Bar更新而清零~ 😊
另外要注意:全局变量的作用范围仅限当前公式内部,不同策略单元的公式无法互相访问对方的全局变量哦。
1、误解:全局变量的作用范围仅限当前公式内部?全局变量+代码单独写;单独放置;
2、软件调试频繁抛出:全局变量初始化需要在模型的最开始部分。所以此“模型”如何理解含义?全局变量放置在整个代码的第一行也会错误。
希望能出几个语法案例。
类似出错的语法案例
// 必须使用 VARIABLE 定义全局变量,确保数值在K线间传递
VARIABLE:Loss_Streak:=0,Pause_Timer:=0; // 连续亏损计数器+暂停倒计时// [风控参数]
// [更新暂停计时器]
// 如果处于暂停期,每过一根K线减1
IF Pause_Timer>0 THEN Pause_Timer:Pause_Timer-1;
错误:无法识别的字符串Pause_Timer。
收到,会向同事反馈