Ursprungligen postat av LillWicke
Visa inlägg
Allmänt meddelande
Collapse
No announcement yet.
Fladderfilter samt blockning av kontinuerlig signal.
Collapse
X
-
Varför får jag inte detta att fungera, har letat fel men ser antagligen inte skogen för stora trän.
villkor script
Bla, Bla
öppet:=gt(mult(1440,sub(market(c),frac(date()))),20)
{ säkerställa att inga positioner tas innan start_delay passerats }
start_delay:=29
minut_nu:=mult(frac(date()),1440)
inpådagen:=gt(minut_nu,add(540,start_delay)) { 540 är kl 9.00 }
datum_ok:=eqv(int(d),int(date()))
{ Fladdervariabler }
signal_delay:=5
signal_lock:=3
{ Säkerställer blockering av cellskrivning under diagramkörningen }
block_diag_skriv:=and(datum_ok,eqv(cum(1),1))
timelock:=30
lt1:=LastTrade(B,D)
lt2:=LastTrade(S,D)
minSedanKöp:=mult(sub(date(),lt1),1440)
minSedanSälj:=mult(sub(date(),lt2),1440)
innehav_ok:=Le(Portfolio(v),0)
i60(
orderdelay_ok=and(gt(minSedanKöp,timelock),gt(minSedanSälj,timelock))
signal1=Bla, Bla
signal2=Bla, Bla
signal3=And(and(signal2,öppet),orderdelay_ok)
buy5=and(and(signal3,datum_ok),inpådagen)
setgvarif(0,204,1)
antal=if(buy6,GetGVar(61))
SetGvarIf(antal,204,1)
{ Tidslucka innan första positionen tas efter öppning}
innan_position=and(ge(minut_nu,540),le(minut_nu,add(540,start_delay)))
nollvillkor1=and(innan_position,gt(Getgvar(501,N),0))
SetGvarIf(0,501,and(nollvillkor1,block_diag_skriv),T) { Nollställer cell 501 innan handeln börjar }
{ Skriv tid i cell }
nysignal=and(buy5,eqv(GetGvar(501,N),0))
SetGvarIf(minut_nu,501,and(nysignal,block_diag_skriv),T)
minsedan_signal=if(gt(GetGvar(501,N),0),sub(minut_nu,GetGvar(501,N)),0)
tid_ok=if(and(ge(minsedan_signal,signal_delay),le(minsedan_signal,add(signal_delay,signal_lock))),1,0) { tiden är inom intervallet }
buy6=and(and(buy5,tid_ok),innehav_ok)
{ Nolla cell }
nollvillkor2=and(not(buy5),gt(GetGvar(501,N),0))
SetGvarIf(0,501,and(nollvillkor2,block_diag_skriv),T) { nollställer cell 501 om ej signal }
mult(buy6,10)
)
Comment
-
Ursprungligen postat av ali Visa inläggVarför får jag inte detta att fungera, har letat fel men ser antagligen inte skogen för stora trän.
Vad gäller "fladderfiltret" som du lagt in, kan jag inte upptäcka några fel.
"Felet" måste ligga någon annan stans i scriptet.
I nedanstående finns några konstigheter.
1) signal1 förekommer den i signal2?
2) buy5 är satt som ingående signal i fladderfiltret, men du har buy6 i antal.
3) Utelämna helst inte den fjärde parametern i setgvarif(), speciellt inte om scriptet körs i ett diagram.
----------------------------
signal1=Bla, Bla
signal2=Bla, Bla
signal3=And(and(signal2,öppet),orderdelay_ok)
buy5=and(and(signal3,datum_ok),inpådagen)
setgvarif(0,204,1,T)
antal=if(buy6,GetGVar(61,N))
SetGvarIf(antal,204,1,T)
-----------------------------------
Comment
-
Ursprungligen postat av LillWicke Visa inläggVad är det som inte fungerar?
Vad gäller "fladderfiltret" som du lagt in, kan jag inte upptäcka några fel.
"Felet" måste ligga någon annan stans i scriptet.
I nedanstående finns några konstigheter.
1) signal1 förekommer den i signal2? Ja
2) buy5 är satt som ingående signal i fladderfiltret, men du har buy6 i antal.
3) Utelämna helst inte den fjärde parametern i setgvarif(), speciellt inte om scriptet körs i ett diagram.
----------------------------
parameter
signal1=villkor script
signal2=and(signal1,parameter)
signal3=And(and(signal2,öppet),orderdelay_ok)
buy5=and(and(signal3,datum_ok),inpådagen)
setgvarif(0,204,1,T)
antal=if(buy5,GetGVar(61,N))
SetGvarIf(antal,204,1,T)
-----------------------------------
Jag får ingen signal, något blockar.
Det jag mest är ute efter är ju " blockering av cellskrivning under diagramkörningen " annars fungerar ju inte att köra flera modeller mot en depå.
Om fladderfiltret fungerar som jag tror är det något jag saknat hela tiden, hur många bra affärer har inte förstörts av den lilla felaktiga signalen.
Comment
-
Syntaxfel, något komma eller någon punkt på fel ställe, utelämnad andra kommentarparentes eller något liknande.
Edit: såg just att du exempelvis utelämnat tredje parametern i if-satsen. Det kanske finns på fler ställen?
antal=if(buy5,GetGVar(61,N),??)
Last edited by LillWicke; 2012-08-27, 00:29.
Comment
-
Ursprungligen postat av ali Visa inläggFår inget syntaxfel vid test, har kopierat in mina parametrar i ditt skript tidigare i tråden.
Är mycket tacksam för din hjälp.
Om du använder NAT-editorn utelämnar den de flesta syntaxfel.
Comment
-
Ursprungligen postat av ali Visa inläggKör skripten när börsen är öppen, finns det någon annan metod ?
Scripten körs även om det finns syntaxfel i dem, och därmed kan resultaten kan bli helt knasiga.
Comment
-
Ursprungligen postat av ali Visa inläggAnvänder din version av Notpad, hur ser jag vad som är fel.
Du ser om du stavat en funktion fel, eller skrivit punkt istället för komma som parameteravskiljare, eller om du använt komma istället för punkt i ett tal, eller om du utelämnat en parentes genom att klicka på parenteserna en efter en.
MEN du ser inte om du utelämnat en parameter i en funktion, funktionens syntax måste du ha aktuell när du skriver den. Läste du min EDIT i inlägg #20?
Comment
-
Ja men det är ju parameter att sätta antal i säljskriptet som handlar med flera modeller i samma depå.
Kopierat här. http://www.autostock.se/vbulletin/sh...flera+dep%E5er
sl) trend1
medel1:=mov(c,GetGvar(101),s)
medel2:=mov(c,GetGvar(102),s)
antal:=if(gt(medel1,medel2),1,-1)
SetGvarIf(antal,201,1)
Comment
Comment