Allmänt meddelande

Collapse
No announcement yet.

Signalutvärdering realtid<>historisk data

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

  • Signalutvärdering realtid<>historisk data

    Hej!

    Jag har tidigare fattat det som att script jobbar på historisk intradaydata i minutupplösning, även om scriptet jobbar i 20 mins upplösning. Jag tycker dock det verkar som om utvärderingen endast sker på scriptupplösning.


    Jämför exemplet med en stapel, som i 20 minuters upplösning har:

    open = 890
    low=890
    high=905
    close=895:

    signal1=gt(c,900)

    signal2=gt(h,900)

    I realtid följs close och high åt i en uppåtgående stapel. Resultatet blir samma i båda fallen! Signal kommer genereras då c > 900. c innehåller alltid senaste i realtid.


    Efter dagens slut, när jag tittar tillbaka på dagens diagram och signaler:

    Blir det samma resultat för de båda signalerna, eller kommer signal1 aldrig bli sann, eftersom close stängde under 900?

    Frågan är alltså om tillbakablickar endast jobbar med aktuell scriptupplösning eller alltid minutupplösning?

    PS. Jag förstår att jag kanske inte ser signal1 om jag ritar dem som flagga, eftersom den blir falsk igen (eller aldrig uppträder beroende på svaret). DS

    EDIT:

    En ide kanske är ta alla mina l, h och c och byta ut mot CmpRef(c,A) etc om jag har aktuellt instrument kopplat som A-objekt i 1-minutsupplösning. Alla aref(xxx,yyy) behåller jag som de är. Då kommer man kanske närmre sanningen i historiska tillbakablickar?


    Mvh
    Last edited by NickoTrader; 2012-02-02, 18:48.

  • #2
    Scripten körs hela tiden på det data som kommer in, och larm kan genereras när som helst. Tex blir signal1 och signal2 sanna samtidigt någon gång under dagen, och signal2 förblir sant resten av dagen medan signal1 återgår till falskt när kursen åter passerar under 900. I verkligheten kommer den säkert växla ett antal ggr eftersom kursen kanske bryter 900 flera gånger under dagen. I efterhand syns inget eftesom det man ser i grafen är slutvärdet på varje stapel. Kör man en väldigt fin upplösning syns signalen säkert i några staplar, men om man bara kör dagsupplösning blir det inget i grafen från signal1. (Jo förresten, om man tittar i diagrammet just när signalen är sann syns den)

    Comment


    • #3
      I realtid förstår jag att det är så, men om jag tittar på gårdagen, jobbar scriptet då mot minutdata även fast upplösningen är låst till i20( )?

      Så om jag vill "minnas" en nivå i mitt script vid en given utvärdering i grafen med gårdagens data, tex signal1 som blir sann kl 13:37 i realtid, då kommer jag göra det med det värdet som var den minuten, eller blir det h, l, eller c på 20-minutersstapeln?

      Typ SetGVarIf(c,500,signal1) ger då minutvärdet som var 13:37 och inte 13:20 eller 13:40 (vilket det nu blir...), fastän det står inom i20(...)

      Jag vill ha detta fullständigt klart för mig, eftersom jag gör min egen backtestning och "minns" en mängd signalnivåer i NAT.

      Tack för snabba svar förresten!

      Mvh
      Last edited by NickoTrader; 2012-02-02, 19:25.

      Comment


      • #4
        Aha! Listig fråga! Jag har för mig att det blir som om du kör i 1 minuts upplösning även om chartet är på tex 15. Scripten sätter värdena ändå såvitt jag vet, men vi får kolla med Lasse (vår urguru) för att vara säkra.

        Comment


        • #5
          Har kollat med Lasse och det du menar är "animering". Det görs inte vid diagramritning av två skäl, dels skulle ritprestanda bli många gånger sämre, och dels är det en komplicerad historia rent tekniskt som kommer i och med Analysbänken i Pro-versionen.

          Alltså, om diagrammet och scriptet är i 15-minuters upplösning visas bara slutvärden för varje stapel och scripten har ingen aning om vad som hänt "inne i" varje stapel. För att få effekten du är ute efter måsta man köra ner analysen i sig i 1 minuts upplösning. Ibland kan det vara ganska smidigt att köra scripten i 1 minut, men använda cmpref() för att ta in data i annan upplösning samtidigt. Då kan man få effekten att sätta globala celler eller liknande.

          Comment


          • #6
            OK, tack, det var värdefull info. Får försöka få till AT8-analysen då tills Pro-versionen kommer.

            Ska prova CmpRef lite mer också.

            Mvh

            Comment


            • #7
              Följer SetGvarIf för de globala cellerna vid backtesting animering per minut eller fullbordad stapel för upplösningen.

              Comment


              • #8
                För att få så realtidslikt som möjligt borde jag köra:

                SetGVarIf(värde,variabelnummer,gt(c,cmpref(h,1)))

                om jag kör 1-minutsupplösning på huvudscriptet och 20-minuters på CmpRef

                Om det skulle varit fullbordad stapel borde det varit gt(Cmpref(c,1),Cmpref(h,2))
                för att få det i 20-minutersupplösning, om jag fattat saken rätt

                Mvh

                Comment

                Working...
                X