Allmänt meddelande

Collapse
No announcement yet.

Uppdatering mindre än 60 sekunder

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Uppdatering mindre än 60 sekunder

    Hur fungerar AT med uppdatering < en 1 minut. Byggs dataserierna kontinuerlig på eller ersätts värderna tills en minut har passerat och nästa minut börjar. Om modellen släpper order med 1/4 av målantalet varje insamling så kan det ha en stor betydelse för vissa funktioner, tex cross.

  • #2
    Databaserna byggs upp vid varje sample, och kör man data snabbare än 1 minut får man alltså fler samples per minut och kan därmed rita riktiga staplar även i minutupplösning. I nästa programversion får vi något som mer likna realtid och mer exakta minutstaplar.

    Comment


    • #3
      Jag är inte helt säker på vad du menar med byggs upp vid varje sample.

      014

      Comment


      • #4
        Jag är inte helt säker på vad du menar med byggs upp vid varje sample.
        c mov(c,20,s)
        014 10

        Comment


        • #5
          ops, jobbade på två datorer.

          Jag är inte helt säker på vad du menar med byggs upp vid varje sample. Om tex c är lika för varje insamling(med 15s) under en minut och korsar mov(c,20,s) på den första insamlingen. Kommer cross att signala en gång eller på varje insamling under minuten. Håller på och testar en sak och vet inte om det är något med modellen eller hur AT hanterar fler insamlingar per minut.

          Kankse ska vänta med detta tills nya versionen.

          Comment


          • #6
            Om C är lika under hela minuten så signalerar Cross första insamlingen och är därefter sant under hela minuten, alltså larm varje gång.

            Comment


            • #7
              Grafen ritas om

              Jag har ett problem med att jag inte får säljsignal...

              När jag kör backtest är allt i sin ordning, men vid realtid ser jag att grafen ibland ritar ut en säljsignal (inte flagga utan en grafiskt SL), sen vid nästa insamling kan värdet ha sjunkit eller stigit varvid sälj-signalen/indikationen tas bort.
              Jag misstänker att problemet ligger i att perioden/stapeln kan ändras upp till 12 gånger (5 sekunder/insamling) vid 1 minuts upplösning/graf.

              Har detta någonting med retval & getval att göra (som jag använder) och ska jag reglera detta med globala variabler istället?

              Ska jag fortsätta med min snabba quote-feed, men bromsa upp och göra checken av SL strax innan ny period påbörjas?
              NiclasGBG

              Comment


              • #8
                Hm, RetVal/GetVal spelar ingen roll jämfört med globala celler, däremot kan det ju vara ide att antingen gör SL-koll precis i slutet av minuten alternativt kolla med Aref() om förra minuten resulterade i SL. Då stämmer det alltid i efterhand med vad som syns i grafen. Går dessutom att backsimulera exakt.

                Comment


                • #9
                  Det är nog bäst att testa sig fram för att se om verkligt resultat blir systematiskt bättre eller sämre genom att släppa under hela minuten. Dessutom går det att släppa en del villkor endast på fullbordade staplar och vissa under hela minuten. Det är tex inte kul att vänta för länge vid en spik.

                  Comment


                  • #10
                    Jag har problem med ett script som ska blockera signaler i minnesreferensen test8. Scriptet ger kontinuerligt signal vid live testing. För enkelheten skull kör jag från den stora uppgången sep 1 och 3000 perioder i test6. I analysbänken kommer ingen signal efter sep 1. Visuellt ska det inte heller komma någon signal.


                    test1:=1 {lägg in säljvillkor}

                    test2=Lt(mult(sub(market(c),frac(d)),1440),2)
                    test3=Find(test2,500,c,1)
                    test4=and(gt(div(sub(c,test3),test3),0.02),le(Getval(2),0)) {lägg in % villkor}
                    test5=Retval(if(test4,1,if(gt(Getval(2),0),add(Getval(2),1),0)),2)
                    test6=Retval(if(gt(test5,2500),0,Getval(2)),2) {lägg in antal perioder innan nollställning}
                    test7=if(eqv(test6,1),c,if(gt(test6,1),aref(c,sub(test6,1)),0))
                    test8=and(or(lt(c,test7),le(test7,0)),and(test1,1))

                    test9=le(int(mod(mult(frac(date()),1440),2)),0)

                    i1(
                    draw(test7,1,gqb)
                    draw(mult(test8,5),3,rsbF)
                    sälj=and(test8,test9)
                    )

                    Comment


                    • #11
                      Det verkar som att det fungerar om man använder aref(test8,1) och att signalen då är låst till nästa fullbordade minut. Stämmer det och gäller det alltid när man använder Getval? Dessutom måste man väl köra utan aref vid backtesting och med vid livekörning?

                      Comment


                      • #12
                        Du kan köra med Aref(test8,1) även vid backtestning, det blir samma effekt som att köra live.

                        Comment


                        • #13
                          Realtidsproblem

                          Skriptet nedan ska se till att avläsning sker de sista 15 sekunderna på varje period/minut. Detta kommer ju att bli close för perioden...
                          Ambitionen är att få close värdet för perioden, men ändå slippa "aref". Jag tjänar maximalt 30 sekunder per trade... Det finns anledning att jaga dessa sekunder...
                          En annan fördel är att jag alltid kontrollerar att jag är på senaste period.
                          Kursinsamling sker 4 ggr i minuten (15 sekunders intervall). Scriptet kan kortas ned, men jag gillar att bara behöva ändra på 1 ställe, när jag vill ändra inställning...
                          Något stämmer inte, men jag ser inte vad????

                          {Antal sekunder på 1 dygn}
                          ConvertSec:=86400
                          {Jag har 15 sekunders kursuppdatering i ini-filen}
                          nUpdateSec:=15
                          {60 står för 1 minut}
                          nUpdateMin:=60
                          nUpdateVal:=Div(nUpdateMin,nUpdateSec)
                          nDiffTime:=Sub(Date(),D)
                          nDiffSec:=MULT(nDiffTime,ConvertSec)

                          i1(
                          nTimePerLo=Sub(nDiffSec,Mult(Sub(nUpdateVal,1),nUpdateSec))
                          nTimePerHi=Sub(nDiffSec,Mult(nUpdateVal,nUpdateSec))
                          nMinCloseTime=If(And(Ge(nTimePerLo,0),Le(nTimePerHi,0)),1,0)
                          {--Övrigt Script--}
                          And(BuySignal,nMinCloseTime)
                          )



                          Jag ska även prova med "Aref" i skriptet men rent spontant känns det som om allt blir förskjutet till perioden efter. Även nuvarande backtestade resultat måste bli förskjutet????
                          Last edited by niclas_gbg; 2010-09-08, 18:20.
                          NiclasGBG

                          Comment


                          • #14
                            tid1=mult(frac(date()),86400)
                            tid2=ge(int(mod(tid1,60)),45)

                            i1(
                            and(tid2,1) {1=signal villkor}
                            )

                            Jag håller på med samma sak. Det förutsätter att minuten i AT börjar och slutar på sekund 0 och att Aref=senaste signalvärdet i minuten???

                            Tänk på att det inte alltid blir en insamling. Ska man då inte signalera, använda senast sparat signalvärde i minuten eller aref.

                            Om man ändå bara släpper signal en gång i minuten borde det gå lika bra att köra med minutuppdatering i fibnet? Är då alltid signal =aref(signal,1) ?

                            Vet inte om vi silar mygg och sväljer kameler. Borde ha effekt vid snabba rörelser.

                            Comment


                            • #15
                              Seadragon... Jag var ochså funderat på att bara uppdatera 1 gång per minut...

                              Vid körning av analysbänken, så blir resultatet alltid t.ex. köp 12.02.00 alltså precis på klockslaget.

                              De 4 sub-insamlingarna per minut genererar ju High/Low och sista subperioden ger Close.

                              Min ambition är ju att fånga in den sista subperioden på minuten/perioden, som ändå kommer att bli close...

                              Visst vi försöker skjuta myggor med kanon Men desto snabbare script!


                              Förövrigt testade jag med Aref idag, men tyvärr utan resultat/signal...
                              NiclasGBG

                              Comment

                              Working...
                              X