Allmänt meddelande

Collapse
No announcement yet.

Inget larm vid korsning av linjer i diagram

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

  • #16
    Värdet "1570" blir en linje som rör på sig upp och ner under hela dagen.

    Värdet "570" blir en fast rak linje efter kl 9:30.

    Fick signal kl 9:24 när linjen 570 var rörlig men ej där efter.


    Min teori:

    Högsta linje lagras med RetVal (1) och läses med GetVal, finns ett värde kvar under hela dagen.

    Lägsta linje lagras med RetVal (2) och läses med GetVal, finns ett värde kvar under hela dagen.

    Mittlinjen beräknas kanke inte efter kl 9:30, men det finns kvar ett värde i "draw-variabeln".

    Om min teori stämmer hur löser man det då?
    Last edited by Wheelie; 2012-12-20, 15:06.

    Comment


    • #17
      Det här har att göra med "diagramkörningen" respektive "livekörningen"
      I diagramkörningen körs scriptet igenom en gång för varje stapel i diagrammet under en och samma körning och under den körningen "hålls" värdet i retval i minnet.

      I livekörningen körs scriptet ingenom en gång "just nu", och eftersom retval enbart lagrar värden under den tid som scriptet körs finns inget värde att hämta under livekörningen.

      Eftersom larm bara ges under livekörningen blir det helt enkelt inget larm.
      Lösningen är att inte använda sig av retval i det här fallet.



      EDIT: Möjligen skulle man kunna använda sig av cellerna 0 och 1 eftersom dessa är reserverade för AT8:as vinsttest. Vet inte om dessa celler håller värdet genom flera livekörningar, men det kan säkert Rikard svara på.
      Last edited by LillWicke; 2012-12-20, 16:16.

      Comment


      • #18
        Hej LillWicke,

        Skall jag använda mig av globala variabler istället?

        Hur scriptar jag då?

        Comment


        • #19
          Gjorde just nu ett test med cellerna 0 och 1. Det fungerar med dessa.

          skriv istället:
          klinje:=Retval(if(ktime2,kperiod9,Getval(0)),0)
          och
          slinje:=Retval(if(stime2,speriod9,Getval(1)),1)

          Comment


          • #20
            Oavsett lösning i denna tråd.

            Är inte livslängden för retval hela diagrammet vid ritning och innevarande stapel för livkörning( dvs nollställning då ny stapel bildas)?

            Comment


            • #21
              Hej igen,

              Har testat och får fortfarande inget larm i larmfönstret vid signal mot mlinje med detta script.


              {Högstalinje}
              kperiod9:=hhv(aref(h,0),30)
              ktime1:=mult(frac(d),1440)
              ktime2:=le(ktime1,570)
              klinje:=Retval(if(ktime2,kperiod9,Getval(0)),0)

              {Lägstalinje}
              speriod9:=llv(aref(l,0),30)
              stime1:=mult(frac(d),1440)
              stime2:=le(stime1,570)
              slinje:=Retval(if(stime2,speriod9,Getval(1)),1)



              {Mittlinje}
              range:=sub(klinje,slinje)
              mlinje:=sub(klinje,div(range,2.50))

              {Ändra 2.50 för att testa signal mot mlinje}



              {Ma1}
              ma1:=mov(c,5,e)

              i1(

              signal1=and(cross(l,mlinje),lt(ma1,aref(ma1,1)))
              signal2=hhv(signal1,25)
              signal3=aref(signal2,1)

              {Rita linjer}
              draw(ma1,3,bqb)
              draw(slinje,4,rqb)
              draw(klinje,5,dgqb)
              draw(mlinje,6,mqb)

              mult(and(signal3,1),25)
              )

              Comment


              • #22
                Ursprungligen postat av Wheelie Visa inlägg
                Hej igen,

                Har testat och får fortfarande inget larm i larmfönstret vid signal mot mlinje med detta script.
                Men mittlinjen har väl inte passerats ovanifrån ännu?
                Skriv så har istället så kan du göra några snabba test innan stängning:

                {signal1=and(cross(l,mlinje),lt(ma1,aref(ma1,1)))}
                signal1=gt(c,mlinje)

                Växla mellan gt och lt

                Last edited by LillWicke; 2012-12-20, 17:18.

                Comment


                • #23
                  Ursprungligen postat av Henric Visa inlägg
                  Oavsett lösning i denna tråd.

                  Är inte livslängden för retval hela diagrammet vid ritning och innevarande stapel för livkörning( dvs nollställning då ny stapel bildas)?
                  Det var just det jag skrev i inlägg #17.

                  Comment


                  • #24
                    Jag menar innevarande stapel oavsett upplösning och värdet lagras tills ny period börjar och värdet nollställs. Alltså inte bara aktuell körning.

                    Comment


                    • #25
                      Höjde linjen manuellt här "2.50" och inget larm blev det vid signal.

                      {Mittlinje}
                      range:=sub(klinje,slinje)
                      mlinje:=sub(klinje,div(range,2.50))

                      {Ändra 2.50 för att testa signal mot mlinje, höjer eller sänker linjen}

                      Tror faktiskt att ingen linje ger larm efter kl 9:30 tyvärr.
                      Last edited by Wheelie; 2012-12-20, 17:39.

                      Comment


                      • #26
                        Ursprungligen postat av Henric Visa inlägg
                        Jag menar innevarande stapel oavsett upplösning och värdet lagras tills ny period börjar och värdet nollställs. Alltså inte bara aktuell körning.
                        Exakt, ser nu att jag inte skrev "innevarande stapel" i inlägg #17. Det ska naturligtvis stå "innevarande stapel" i livekörningen. Tack Henric för påpekandet.

                        Comment


                        • #27
                          Ursprungligen postat av Wheelie Visa inlägg
                          Tror faktiskt att ingen linje ger larm efter kl 9:30 tyvärr.
                          Jodå, jag får larm, många larm, med den omskrivning jag tipsade om.

                          Att du inte fick larm genom att enbart höja mittlinjen beror nog på att signalen du fick i diagramkörningen inte "fanns kvar" när scriptet gick över till att köra "livekörningen". Börsen gick ju upp mot slutet och tickade nedåt (fladdrade) bara under några sekunder runt den höjda mittlinjen.

                          Comment


                          • #28
                            God kväll LillWicke,

                            signal2=hhv(signal1,25)
                            Den här raden skall hålla signalen i 25 perioder eller?

                            Har du den här raden,
                            ktime2:=le(ktime1,570) (Ger en rak fast linje efter kl 9:30 som ej ger larm vid korsning hos mig)

                            eller den här
                            ktime2:=le(ktime1,1570) (Ger en rörlig linje hela dagen som ger larm hos mig)

                            i ditt script?

                            Comment


                            • #29
                              Go kväll i stugan Wheelie.

                              Jag har den här raden:
                              ktime2:=le(ktime1,570) (rak linje)

                              Jag är vädigt osäker på om
                              signal2=hhv(signal1,25)
                              vekligen håller signalen i 25 perioder när retval är inblandat, du får ju ett avbrott i dataserien efter 1 minut, men den frågan kan säkert någon annan svara på.

                              Comment


                              • #30
                                {Högstalinje}
                                kperiod9:=hhv(aref(h,0),30)
                                ktime1:=mult(frac(d),1440)
                                ktime2:=le(ktime1,570)
                                klinje:=find(ktime2,520,kperiod9,1)

                                {Lägstalinje}
                                speriod9:=llv(aref(l,0),30)
                                stime1:=mult(frac(d),1440)
                                stime2:=le(stime1,570)
                                slinje:=find(stime2,520,speriod9,1)

                                i1(
                                {Mittlinje}
                                range=sub(klinje,slinje)
                                mlinje=sub(klinje,div(range,2.50))

                                {Ma1}
                                ma1=mov(c,5,e)

                                signal1=and(cross(l,mlinje),lt(ma1,aref(ma1,1)))
                                signal2=hhv(signal1,25)
                                signal3=aref(signal2,1)

                                {Rita linjer}{ritar med offset 0,25 för att jämföra med orginal}
                                draw(add(slinje,0.25),4,rqb)
                                draw(add(klinje,0.25),5,dgqb)
                                draw(add(mlinje,0.25),6,mqb)

                                mult(and(signal3,1),25)
                                )

                                Comment

                                Working...
                                X