merhaba,
diğer dillerin yazımına pek hakim değiliz,
görebildiğimiz kadarıyla 1 önceki değerlerini toplatıp
3 e böldürmüşler
(ref(h,-1)+ref(l,-1)+ref(c,-1))/3
şeklinde kodlanır,
ayrıca gönderdiğinize yakın çevrilmiş bir formül aşağıdadır,
inceleyebilirsiniz
NW:=ROC(MONTH()<>ref(MONTH(),-1),1,$)<0;
x1t:=LastValue(ValueWhen(1,NW=-1,Cum(1)));
WH:=ValueWhen(1,Nw,Ref(HighestSince(1,Nw,H),-1));
WL:=ValueWhen(1,Nw,Ref(LowestSince(1,Nw,L),-1));
WCL:=ValueWhen(1,Nw,Ref(C,-1));
H4:=if(cum(1)=>x1t,((WH-WL)*1.1/2+WCL),0);
H3:=if(cum(1)=>x1t,((WH-WL)*1.1/4+WCL),0);
H2:=if(cum(1)=>x1t,((WH-WL)*1.1/6+WCL),0);
H1:=if(cum(1)=>x1t,((WH-WL)*1.1/12+WCL),0);
H5:=if(cum(1)=>x1t,((WH-WL)*0.55+WCL),0);
L1:=if(cum(1)=>x1t, (WCL-(WH-WL)*1.1/12),0);
L2:=if(cum(1)=>x1t, (WCL-(WH-WL)*1.1/6),0);
L3:=if(cum(1)=>x1t, (WCL-(WH-WL)*1.1/4),0);
L4:=if(cum(1)=>x1t,(WCL-(WH-WL)*1.1/2),0);H4;H3;H2;H1;L1;L2;L3;L4;H5