老师请问日内均线最标准的代码写法是什么,SUM(AVPRICE*V,DAYBARPOS)/SUM(V,DAYBARPOS); 这是文华的写法,极速版和close*vol这个有关系,请问老师怎样表达最标准
声明的序列变量
//------------------------------------------------------------------------
// 简称: SettlePrice
// 名称: 求当日的近似结算价格
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
Vars
Series<Numeric> SumAmount(0,2);
Series<Numeric> SumVol(0,2);
Numeric IndaySettlePrice;
Begin
If(CurrentBar==0 Or TrueDate(0)<>TrueDate(1))
{
SumAmount = Close * Vol;
SumVol = Vol;
}
Else
{
SumAmount = SumAmount[1] + Close * Vol;
SumVol = SumVol[1] + Vol;
}
IndaySettlePrice = SumAmount / SumVol;
return IndaySettlePrice;
End
请问:
Vars
Series<Numeric> SumAmount(0,2);
Series<Numeric> SumVol(0,2);
(0,2) 是什么意思呢?
这是为了节省序列变量内存占用的一种写法,因为序列变量为了能够回溯读取,相当于在内存中保存了这个变量在每根BAR上的值,但实际使用时,我们一般是回溯1根即可。(0,2)中的2即保存的序列变量的根数,2表示只保存2根BAR的值,当前BAR和上一BAR。