20 lines
330 B
Plaintext
20 lines
330 B
Plaintext
Procedure.d SMA(Number, Period=0)
|
|
Static P
|
|
Static NewList L()
|
|
Protected Sum=0
|
|
If Period<>0
|
|
P=Period
|
|
EndIf
|
|
LastElement(L())
|
|
AddElement(L())
|
|
L()=Number
|
|
While ListSize(L())>P
|
|
FirstElement(L())
|
|
DeleteElement(L(),1)
|
|
Wend
|
|
ForEach L()
|
|
sum+L()
|
|
Next
|
|
ProcedureReturn sum/ListSize(L())
|
|
EndProcedure
|