hej,
fick en idé i helgen som jag tänkte dela med mig av.
jag använder mig av ett antal oberoende delstrategier i mitt stor-script, som var för sig kan returnera -1, 0, 1.
sedan summeras dessa ihop till ett totalantal, och om det inte överenstämmer med antalet i depån så görs en affär.
Det har visat sig bli lite yxigt, och jakt på en lösning slog det mig att jag kan använda mig av en logistisk funktion istället.
y=1 / (1 + e^-x)
Den är begränsad till 0 ≤ y ≤ 1 ,men är steglös...
med lite modifiering får man den att returnera -1 ≤ y ≤ 1
y= ( 2 / (1+e^-x) ) -1
ett enkelt exempel:
hur tre medel av olika längd interagerar,
{ medelvärdena }
m1:=mov(c,10,s)
m2:=mov(c,100,s)
m3:=mov(c,1000,s)
{ önskad maxexponering }
totant:=3
{ känsligheten för förändring }
k1:=20
k2:=20
k3:=20
{ funktionen }
x1:=div(sub(m1,m2),div(m2,k1))
x2:=div(sub(m1,m3),div(m3,k2))
x3:=div(sub(m2,m3),div(m3,k3))
y1=sub(div(2,add(1,exp(sub(0,x1))),1)
y2=sub(div(2,add(1,exp(sub(0,x2))),1)
y3=sub(div(2,add(1,exp(sub(0,x3))),1)
{ summerar ihop delarna och delar summan med antalet delar}
y4=div(add(add(y1,y2),y3),3)
{ eftersom y praktiskt taget aldrig blir helt -1 eller 1, så förstoras summan till (1+totant)/totant , så att maxexponering kan uppnås}
y5=mult(y4,div(add(1,totant),totant))
i1(
int(aref(y5,1))
)
förslagsvis skickar man heltalsdelen av y5 via global cell till köp och säljscript, som hela tiden kollar om antalet stämmer med depån
Obs!
detta är inte testat i Nat, utan skrivet på frihand från annan dator, så med reservation för glömda parenteser och andra stavfel...
det är mer tänkt som inspiration för den som jobbar med flera parallella strategier/signaler
Mvh
nyrn2k
fick en idé i helgen som jag tänkte dela med mig av.
jag använder mig av ett antal oberoende delstrategier i mitt stor-script, som var för sig kan returnera -1, 0, 1.
sedan summeras dessa ihop till ett totalantal, och om det inte överenstämmer med antalet i depån så görs en affär.
Det har visat sig bli lite yxigt, och jakt på en lösning slog det mig att jag kan använda mig av en logistisk funktion istället.
y=1 / (1 + e^-x)
Den är begränsad till 0 ≤ y ≤ 1 ,men är steglös...
med lite modifiering får man den att returnera -1 ≤ y ≤ 1
y= ( 2 / (1+e^-x) ) -1
ett enkelt exempel:
hur tre medel av olika längd interagerar,
{ medelvärdena }
m1:=mov(c,10,s)
m2:=mov(c,100,s)
m3:=mov(c,1000,s)
{ önskad maxexponering }
totant:=3
{ känsligheten för förändring }
k1:=20
k2:=20
k3:=20
{ funktionen }
x1:=div(sub(m1,m2),div(m2,k1))
x2:=div(sub(m1,m3),div(m3,k2))
x3:=div(sub(m2,m3),div(m3,k3))
y1=sub(div(2,add(1,exp(sub(0,x1))),1)
y2=sub(div(2,add(1,exp(sub(0,x2))),1)
y3=sub(div(2,add(1,exp(sub(0,x3))),1)
{ summerar ihop delarna och delar summan med antalet delar}
y4=div(add(add(y1,y2),y3),3)
{ eftersom y praktiskt taget aldrig blir helt -1 eller 1, så förstoras summan till (1+totant)/totant , så att maxexponering kan uppnås}
y5=mult(y4,div(add(1,totant),totant))
i1(
int(aref(y5,1))
)
förslagsvis skickar man heltalsdelen av y5 via global cell till köp och säljscript, som hela tiden kollar om antalet stämmer med depån
Obs!
detta är inte testat i Nat, utan skrivet på frihand från annan dator, så med reservation för glömda parenteser och andra stavfel...
det är mer tänkt som inspiration för den som jobbar med flera parallella strategier/signaler
Mvh
nyrn2k