Allmänt meddelande

Collapse
No announcement yet.

Cell-script

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

  • Cell-script

    Rikard,

    vad jag vill göra är att mäta high/low på föregående stapel som fått ett värde lagrat i ex minnescell 200

    Skapandet av värdet i minnescell 200 skedde föregående stapel mha
    SetGVarIf(xxxx,200,1)

    Läsandet sker mha GetGVar(200) i nuvarande stapel

    Om vi antar att föregående stapel ser ut så här:

    High 1000
    Low 990

    ska dessa in i cell 201 - high
    och 202 - low när jag befinner mig i nuvarande stapel

    att mäta low görs med REF(L,1)
    och high med REF(H,1)

    Så nu gäller det att tänka som Lars Fossum, hur får man till det här?

    Action ska senare vara att läsa från cell 201 och 202 hela tiden och kommer
    kursen över 201 ska vi köpa och under 202 sälja.

    Cell 201 och 202 ska hela tiden födas utefter värdet i cell 200, ändras 200 ska 201 och 202 ändras.

    Hur får man till det scriptet?

  • #2
    Är inte riktigt med på vad du menar att det ska vara för värde i cell 200? Cell 201n och 202 vill du ska ha föregående stapels High resp Low hela tiden.

    Att lagra värdena är ju enkelt, men om de ska uppdateras varje stapel kan man ju lika gärna mäta på föregående stapel direkt?

    köp:=Gt(c,Ref(h,1))
    sälj:=Lt(c,Ref(l,1))

    Här kollas om C i nuvarande stapel överstiger H i förra eller understiger L i förra.

    Det jag inte förstår är varför du vill gå omvägen om minnescellerna?

    Comment


    • #3
      Ursprungligen postat av Rikard Nilsson Visa inlägg
      Är inte riktigt med på vad du menar att det ska vara för värde i cell 200? Cell 201n och 202 vill du ska ha föregående stapels High resp Low hela tiden.

      Att lagra värdena är ju enkelt, men om de ska uppdateras varje stapel kan man ju lika gärna mäta på föregående stapel direkt?

      köp:=Gt(c,Ref(h,1))
      sälj:=Lt(c,Ref(l,1))

      Här kollas om C i nuvarande stapel överstiger H i förra eller understiger L i förra.

      Det jag inte förstår är varför du vill gå omvägen om minnescellerna?

      Vitsen att ha värdena i cell 201 och 202 är att de bara ska uppdateras när 200 får nytt värde.
      Säg att vi lagrar en signal i cell 200 som uppdateras någon gång under dagen.
      När uppdateringen skett av cell 200 ska även 201 o 202 uppdateras.

      Det blir som ett snapshot, 201 och 202 uppdateras när 200 uppdateras.
      Värdena i 201 och 202 kan användas när kursen kommer över för köp eller under för sälj

      Comment


      • #4
        I cell 201 ska nu värdet 1000 finnas och
        i cell 202 värdet 990
        om signalen i cell 200 fått nytt värde (föregående stapel)

        Comment


        • #5
          Ok, då måste vi avgöra om cell 200 har ett nytt värde eller ett gammalt. Det är problemet snarare än att posta nya värden till cell 201 och 202.

          Ska prova lite med att mäta tidsstämpeln på senaste skrivning. Skrivs värdet till cell 200 hela tiden och byter värde helt plötstligt, eller skrivs det bara 1 gång och sen väntar scriptet till nästa gång värdet ska bytas och skriver ett nytt?

          Comment


          • #6
            Ursprungligen postat av Rikard Nilsson Visa inlägg
            Ok, då måste vi avgöra om cell 200 har ett nytt värde eller ett gammalt. Det är problemet snarare än att posta nya värden till cell 201 och 202.

            Ska prova lite med att mäta tidsstämpeln på senaste skrivning. Skrivs värdet till cell 200 hela tiden och byter värde helt plötstligt, eller skrivs det bara 1 gång och sen väntar scriptet till nästa gång värdet ska bytas och skriver ett nytt?
            Värdet i cell 200 uppdateras högst en gång i timman.

            Tanken verkar vara
            " skrivs det bara 1 gång och sen väntar scriptet till nästa gång värdet ska bytas och skriver ett nytt?"
            Ovan definition stämmer

            Comment


            • #7
              Rikard,
              har du hittat någon lösning?

              Comment


              • #8
                Nej, har provat lite med villkoren för E,P och L för SetGVarIf-kommandot, men vi hann inte med så mycket annat än filterstrulet i fredags....

                Comment


                • #9
                  Ursprungligen postat av Rikard Nilsson Visa inlägg
                  Ok, då måste vi avgöra om cell 200 har ett nytt värde eller ett gammalt. Det är problemet snarare än att posta nya värden till cell 201 och 202.

                  Ska prova lite med att mäta tidsstämpeln på senaste skrivning. Skrivs värdet till cell 200 hela tiden och byter värde helt plötstligt, eller skrivs det bara 1 gång och sen väntar scriptet till nästa gång värdet ska bytas och skriver ett nytt?
                  Jag kom på en sak Rikard, man kunde kanske lagra undan föregående värde från cell 200 i cell 199, om värdet skiljer sig från cell 199, uppdatera cell 200, men vet inte riktigt hur man kodar det i AT8.

                  Comment


                  • #10
                    Jo, det är något sånt man får göra. Det ska gå att göra direkt i kommandot SetGVarIf på något vis, men jag har inte hunnit prova ut det.

                    Annars är det ju iofs en enkel sak att jämföra värdena från två celler:

                    aktuellt:=GetGVar(199)
                    lagrat:=GetGVar(200)
                    nytt:=Not(Eqv(aktuellt,lagrat))

                    Här blir "nytt" sant om värdena skiljer sig åt. Alltså om man ska skriva nytt värde. Så "nytt" kan användas i SetGVarIf-satserna som trigger.

                    Comment


                    • #11
                      Ursprungligen postat av Rikard Nilsson Visa inlägg
                      Jo, det är något sånt man får göra. Det ska gå att göra direkt i kommandot SetGVarIf på något vis, men jag har inte hunnit prova ut det.

                      Annars är det ju iofs en enkel sak att jämföra värdena från två celler:

                      aktuellt:=GetGVar(199)
                      lagrat:=GetGVar(200)
                      nytt:=Not(Eqv(aktuellt,lagrat))

                      Här blir "nytt" sant om värdena skiljer sig åt. Alltså om man ska skriva nytt värde. Så "nytt" kan användas i SetGVarIf-satserna som trigger.

                      Bra, det är ju logiken del 1.
                      Vi står i stapel 2 och mäter tidigare signals värde

                      Svårigheten härnäst är ju att skriva in high i cell 201, low i 202 på stapel 1 när vi står i stapel 2 som fått nytt värde via kontroll av cell 199.

                      Comment


                      • #12
                        Enkelt:

                        high:=Aref(h,1)
                        low:=Aref(l,1)
                        aktuellt:=GetGVar(199)
                        lagrat:=GetGVar(200)
                        nytt:=Not(Eqv(aktuellt,lagrat))
                        SetGVarIf(high,201,nytt)
                        SetGVarIf(low,202,nytt)
                        SetGVarIf(aktuellt,200,nytt)

                        Värdena high och low plockas från förra stapeln, och skrivs in i cellerna om "nytt" är sant, dvs "aktuellt" och "lagrat" skiljer sig från varandra. Slutligen skrivs det aktuella värdet in i cell 200, så nästa gång scriptet körs (minuten efter) händer inget om inte värdet på cell 199 ändrats på nytt.

                        Det här borde funka, men allt är ju enkelt i teorin....har inte testat alltså.

                        Comment


                        • #13
                          Ursprungligen postat av Rikard Nilsson Visa inlägg
                          Enkelt:

                          high:=Aref(h,1)
                          low:=Aref(l,1)
                          aktuellt:=GetGVar(199)
                          lagrat:=GetGVar(200)
                          nytt:=Not(Eqv(aktuellt,lagrat))
                          SetGVarIf(high,201,nytt)
                          SetGVarIf(low,202,nytt)
                          SetGVarIf(aktuellt,200,nytt)

                          Värdena high och low plockas från förra stapeln, och skrivs in i cellerna om "nytt" är sant, dvs "aktuellt" och "lagrat" skiljer sig från varandra. ligen skrivs det aktuella värdet in i cell 200, så nästa gång scriptet körs (minuten efter) händer inget om inte värdet på cell 199 ändrats på nytt.

                          Det här borde funka, men allt är ju enkelt i teorin....har inte testat alltså.

                          Ok, vi prövar imorgon, spännande...

                          Comment


                          • #14
                            Ursprungligen postat av Rikard Nilsson Visa inlägg
                            Enkelt:

                            high:=Aref(h,1)
                            low:=Aref(l,1)
                            aktuellt:=GetGVar(199)
                            lagrat:=GetGVar(200)
                            nytt:=Not(Eqv(aktuellt,lagrat))
                            SetGVarIf(high,201,nytt)
                            SetGVarIf(low,202,nytt)
                            SetGVarIf(aktuellt,200,nytt)

                            Värdena high och low plockas från förra stapeln, och skrivs in i cellerna om "nytt" är sant, dvs "aktuellt" och "lagrat" skiljer sig från varandra. ligen skrivs det aktuella värdet in i cell 200, så nästa gång scriptet körs (minuten efter) händer inget om inte värdet på cell 199 ändrats på nytt.

                            Det här borde funka, men allt är ju enkelt i teorin....har inte testat alltså.

                            Signal-scriptet är nu anpassat för att skriva signal till cell 119, har för mig att du sa något någongång att det var problem med minnesceller över 200.
                            Vi får se när signal kommer, först därpå går det att mäta med ovanstående.

                            Comment


                            • #15
                              Där kom signalen och fbinet.exe crashade, bra början....


                              Till omxs308j var det anslutet:

                              script som skapar värde på signal i cell 119
                              ovanstående script som jämför 119/120 och skapar i 121, 122
                              script som läser av cell 121 och ska visa linje

                              just nu syns bara gul linje i analys2, ej i kursgrafen från cell 121 så det tyder väl på att det inte
                              fungerade....

                              Last edited by jorgeng; 2008-09-30, 13:23.

                              Comment

                              Working...
                              X