老师您好 怎么表达 10根K线中最高价前5的5根K线 他们最高价平均值 谢谢
谢谢 辛苦了!
数组的解法,还有一种解法是 “循环:第12345高(有函数)求平均就可以了”
//------------------------------------------------------------------------
// 简称: TEST_20240809220654
// 名称: 测试
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
/*
怎么表达 10根K线中最高价前5的5根K线 他们最高价平均值
---
先定位N(10根K线最高价的位置),N= Nthcon(H,10,1);然后H1 = MA(h,5); h5 =h1[n+1],试试看
*/
Params
//此处添加参数
Vars
//此处添加变量
Series<Numeric> H1;
Array<Numeric> arr;
Defs
//此处添加公式函数
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
Numeric N = NthHigher(H, 10, 1);
H1 = MA(H, 5);
Numeric H5 = H1[N+1];
Integer i;
For i=0 to 10-1
{
arr[i] = H[i];
}
Commentary(TextArray(arr));
ArraySort(arr, False);//数组降序排序
Commentary(\"降序排序结果:\" + TextArray(arr));
Numeric sumv = 0;
For i=0 to 5-1
{
sumv = sumv + arr[i];
}
sumv = sumv / 5;
Commentary(TextArray(arr));
Commentary(TextArray(arr));
PlotNumeric(\"sumv\", sumv);
}
//------------------------------------------------------------------------
// 编译版本 2024/08/09 220713
// 版权所有 yyyz_tb
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
这个算法应该不是很简单