你好,怎么回事呢,上面不是有分号吗?
在 TB 中,数组或布尔变量的声明需要使用圆括号 (),而不是方括号 []
。这是 TB 语法的特殊之处,与其他编程语言(如 C++ 或 Python)不同。
以下是修正后的代码,符合 TB 的语法规范:
plaintext
复制
Vars
//---网格系统---
Numeric GridCenter; // 网格中枢价格
Numeric BuyLevels(5); // 买入网格数组
Numeric SellLevels(5); // 卖出网格数组
Bool FirstBar(True); // 首根K线标记
//---账户状态---
Numeric Equity; // 动态权益
Numeric TodayPL; // 当日盈亏
//---循环变量---
Int i; // 整型循环计数器
()
?以下是一个简单的示例,展示如何在 TB 中使用数组和布尔变量:
plaintext
复制
Vars
Numeric BuyLevels(5); // 买入网格数组
Bool FirstBar(True); // 首根K线标记
Events
OnBar(ArrayRef<Integer> indexs)
{
If (FirstBar == True)
{
// 初始化买入网格数组
For i = 1 To 5
{
BuyLevels(i) = Close - i * 10; // 假设每个网格间隔为 10
}
FirstBar = False; // 标记首根K线已处理
}
// 输出买入网格数组的值
For i = 1 To 5
{
Commentary("BuyLevels(", i, ") = ", BuyLevels(i));
}
}
Vars
//---网格系统---
Numeric GridCenter; // 网格中枢价格
Numeric BuyLevels(5); // 买入网格数组
Numeric SellLevels(5); // 卖出网格数组
Bool FirstBar(True); // 首根K线标记
从你提供的代码片段来看,问题可能出在以下几个方面:
以下是修正后的代码片段,确保格式规范:
plaintext
复制
Vars
//---网格系统---
Numeric GridCenter; // 网格中枢价格
Numeric BuyLevels[5]; // 买入网格数组
Numeric SellLevels[5]; // 卖出网格数组
Bool FirstBar[True]; // 首根K线标记
//---账户状态---
Numeric Equity; // 动态权益
Numeric TodayPL; // 当日盈亏
//---循环变量---
Int i; // 整型循环计数器
希望这些建议能帮助你解决问题!如果还有其他疑问,请随时告诉我。