【通达信指标公式语法约束】
在编写通达信指标公式时,必须严格遵守以下基础语法规则,禁止使用非标准语法:
1. 【语句与结束符】每条语句必须以英文分号 `;` 结束。
2. 【赋值与输出】
- 中间变量赋值使用 `:=`(如:`VAR1:=MA(C,5);`),不输出显示。
- 输出显示变量使用 `:`(如:`均线:MA(C,5);`)。
- 注意:`:=` 中间绝不能有空格,严禁写成 `: =`。
3. 【运算与逻辑符】
- 仅支持基础数学运算:`+ - * /`
- 逻辑判断:`> < = >= <=`,不等于必须使用 `<>`(严禁使用 `!=`)。
- 逻辑运算:必须使用单词 `AND`、`OR`、`NOT`(严禁使用 `&&`、`||`、`!`)。
4. 【条件判断】仅支持嵌套函数 `IF(条件,条件真值,条件假值)`,严禁使用 `if-else` 代码块。
5. 【循环与偏移】
- 底层不支持 `for`、`while` 循环,需用数组函数(如 `HHV`, `LLV`, `SUM`, `CROSS`, `BARSLAST` 等)替代。
- 严禁使用中括号 `[]` 下标引用历史数据(如 `C[1]`),必须使用 `REF(C,1)`。
6. 【注释规范】统一使用大括号 `{ 注释内容 }`,严禁使用 `//` 或 `/* */`。
7. 【字符串与绘图】字符串常量必须使用英文单引号 `''`(如 `DRAWTEXT(..., '买入');`)。
8. 【输出修饰符】颜色、线宽等修饰符直接跟在语句末尾用逗号隔开(如 `均线:MA(C,5),COLORRED,LINETHICK2;`),不能用函数括号包裹。
9. 【变量命名】仅限字母、数字、下划线,且不能以数字开头。严禁与系统保留字冲突(如 `C`, `O`, `H`, `L`, `V`, `AMO` 等)。
10.【严禁未来函数】为防止信号漂移,严禁使用 `ZIG`, `PEAK`, `PEAKBARS`, `TROUGH`, `TROUGHBARS`, `BACKSET`, `REFX`, `DHIGH`, `DLOW` 等未来函数。
11.【跨周期限制】默认不支持跨周期引用符号 `#`(如 `C#WEEK`),需通过其他基础函数逻辑变通实现。
12. 禁止使用通达信不支持的函数
13. 回复之前检查语法错误.