Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,68 @@
|
|||
dim v$( 100) ' Each array term stores a particular SMA of period p in p*10 bytes
|
||||
|
||||
nomainwin
|
||||
|
||||
WindowWidth =1080
|
||||
WindowHeight = 780
|
||||
|
||||
graphicbox #w.gb1, 20, 20, 1000, 700
|
||||
|
||||
open "Running averages to smooth data" for window as #w
|
||||
|
||||
#w "trapclose quit"
|
||||
|
||||
#w.gb1 "down"
|
||||
|
||||
old.x = 0
|
||||
old.y.orig =500 ' black
|
||||
old.y.3.SMA =350 ' red
|
||||
old.y.20.SMA =300 ' green
|
||||
|
||||
for i =0 to 999 step 1
|
||||
scan
|
||||
v =1.1 +sin( i /1000 *2 *3.14159265) + 0.2 *rnd( 1) ' sin wave with added random noise
|
||||
x =i /6.28318 *1000
|
||||
y.orig =500 -v /2.5 *500
|
||||
|
||||
#w.gb1 "color black ; down ; line "; i-1; " "; old.y.orig; " "; i; " "; y.orig; " ; up"
|
||||
|
||||
y.3.SMA =500 -SMA( 1, v, 3) /2.5 *500 ' SMA given ID of 1 is to do 3-term running average
|
||||
#w.gb1 "color red ; down ; line "; i-1; " "; old.y.3.SMA +50; " "; i; " "; y.3.SMA +50; " ; up"
|
||||
|
||||
y.20.SMA =500 -SMA( 2, v, 20) /2.5 *500 ' SMA given ID of 2 is to do 20-term running average
|
||||
#w.gb1 "color green ; down ; line "; i-1; " "; old.y.20.SMA +100; " "; i; " "; y.20.SMA +100; " ; up"
|
||||
|
||||
'print "Supplied with "; v; ", so SMAs are now "; using( "###.###", SMA( 1, v, 3)); " over 3 terms or "; using( "###.###", SMA( 2, v, 5)) ; " over 5 terms." ' ID, latest data, period
|
||||
|
||||
old.y.orig =y.orig
|
||||
old.y.3.SMA =y.3.SMA
|
||||
old.y.20.SMA =y.20.SMA
|
||||
next i
|
||||
|
||||
wait
|
||||
|
||||
sub quit j$
|
||||
close #w
|
||||
end
|
||||
end sub
|
||||
|
||||
|
||||
|
||||
function SMA( ID, Number, Period)
|
||||
v$( ID) =right$( " " +str$( Number), 10) +v$( ID) ' add new number at left, lose last number on right
|
||||
v$( ID) =left$( v$( ID), Period *10)
|
||||
'print "{"; v$( ID); "}",
|
||||
|
||||
k =0 ' number of terms read
|
||||
total =0 ' sum of terms read
|
||||
|
||||
do
|
||||
p$ =mid$( v$( ID), 1 +k *10, 10)
|
||||
if p$ ="" then exit do
|
||||
vv =val( p$)
|
||||
total =total +vv
|
||||
k =k +1
|
||||
loop until p$ =""
|
||||
|
||||
if k <Period then SMA =total / k else SMA =total /Period
|
||||
end function
|
||||
Loading…
Add table
Add a link
Reference in a new issue