Defs
// 计算标准差函数
Numeric CalcStdDev(price, period)
{
Numeric mean = AverageFC(price, period);
Numeric meanSq = AverageFC(price * price, period);
Return Sqrt(meanSq - mean * mean);
}
//ATR
Numeric CalcATR(High, Low, Close, period)
{
If (CurrentBar < period - 1) Return 0;
Return AverageFC(TrueRange(High, Low, Close), period);
}
//
Numeric CalcAvailableLots(Numeric accountBalance, Numeric price, Numeric margin)
{
If (price <= 0 || margin <= 0)
{
Return 0;
}
Numeric marginPerLot = price * 10 * margin;
Numeric maxLots = accountBalance * MaxAccountUsage / marginPerLot;
Return IntPart(maxLots * MaxPositionRatio);
}
这是65-91行 策略编译提示错误 小括号不匹配
原因1:括号未成对出现
· 问题描述:最常见的错误,例如写 if(... 时忘了写 closing parenthesis ),或者在嵌套括号时漏掉了一个。
· 检查方法:仔细数一数第67行及附近几行中 ( 和 ) 的数量是否相等。
· 原因2:逻辑表达式书写错误
· 问题描述:这是开拓者平台的一个常见陷阱。不支持像数学公式那样的连续比较写法(如 a < b < c),也不允许在逻辑运算符旁有多余的比较符号(如 &&<)。
· 检查方法:检查第67行是否有类似 AvgValue1[1] < AvgValue2[1] < AvgValue3[1] 或 ... &&< ... 的写法。正确的写法应拆分为 AvgValue1[1] < AvgValue2[1] && AvgValue2[1] < AvgValue3[1]。
· 原因3:函数调用或字符串拼接错误
· 问题描述:在调用函数(如 SetTBProfileString)或拼接文件路径字符串时,括号和引号的使用容易混乱。
· 检查方法:检查函数名后的括号是否完整,字符串的引号是否正确闭合,加号 + 拼接是否得当。
我检查了这三方面 可是小括号不匹配问题还是存在 请教老师怎么修改
基本都是乱写,谁家的AI啊
嘿嘿 老师好 AI写的
Numeric CalcATR(High, Low, Close, period)
像这种都是基本语法,我建议还是自己学好基础 ,然后再找AI