跨周期,我想用小周期替换大周期值用LowestFC函数计算上下轨,这种方式可行吗?
发现核心函数是:Extremes 求极值,系统默认没有注解说明,不方便理解,可以帮忙写个函数注释说明吗?
//------------------------------------------------------------------------
// 简称: Extremes
// 名称: 求极值
// 类别: 用户函数
// 类型: 内建函数
// 输出: 数值型
//------------------------------------------------------------------------
Params
Series<Numeric> Price(1); //数值型序列值
Numeric Length(10); //周期数
Bool bMax(True); //True - 求最大,False - 求最小
NumericRef ExtremeBar; //回溯周期索引返回值
Vars
Series<Numeric> MyVal;
Series<Numeric> MyBar;
Series<Numeric> MyLength(-1,3);
Numeric i;
Numeric tempprice;
Numeric MinIndex;
Begin
MyVal = Price;
MyBar = 0;
MyLength = 0;
If (MyBar[1] >= Length - 1 || MyLength[1] == -1 || (MyLength[1] != -1 && MyLength[1] != Length))
{
Price[Length - 1];//统一最大回溯值
MinIndex = Min(CurrentBar,Length - 1);
for i = 1 to MinIndex
{
tempprice = Price[i];
If (bMax )
{
If ( tempprice > MyVal)
{
MyVal = tempprice;
MyBar = i;
}
}Else
{
If ( tempprice < MyVal)
{
MyVal = tempprice;
MyBar = i;
}
}
}
}Else
{
If ( bMax )
{
If ( Price >= MyVal[1])
{
MyVal = Price;
MyBar = 0;
}Else
{
MyVal = MyVal[1];
MyBar = MyBar[1] + 1;
}
}Else
{
If ( Price <= MyVal[1])
{
MyVal = Price;
MyBar = 0;
}Else
{
MyVal = MyVal[1];
MyBar = MyBar[1] + 1;
}
}
}
MyLength = Length;
ExtremeBar = MyBar;
Return MyVal;
End
//------------------------------------------------------------------------
// 编译版本 GS2010.12.08
// 版权所有 TradeBlazer Software 2003-2025
// 更改声明 TradeBlazer Software保留对TradeBlazer平
// 台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
Extremes 就是求数组最大最小值,再给出位置
你哪句看不懂