Allmänt meddelande

Collapse
No announcement yet.

Global cell, jämföra förra noteringen med den aktuella

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

  • Global cell, jämföra förra noteringen med den aktuella

    Jag vill i ett säljscript skriva ett värde till en global cell när ett villkor är uppfyllt och det finns ett innehav. Den förra noteringen ska jämföras med nuvärdet och skriver sen över det gamla värdet. Får inte detta att lira. Nån som har några tips? Jag använder kanske detta felaktigt... eller gör det mer komplicerat än det behöver vara.

  • #2
    Läs först ut "nuvarande" värdet från cellen innan det nya skrivs in:

    förra=getgvar(x)

    Därefter gör man jämförelsen och skriver nya värdet till samma cell:

    värde=xxxxxxx
    jämförelse=gt(förra,värde)
    setgvarif(värde,x,1)

    Comment


    • #3
      Har testat med detta, men får inte jämförelse av mätningen att jämföras med mätning gjord efter senaste köp. Vad gör jag för fel? Delar av koden:

      mätning_gjord_efter_köp=gt(GetGvar(667,p),lasttrade(b,d))

      sell0=and(and(lt(värde,getgvar(667)),villkor),mätning_gjord_efter_köp)

      SetGvarIf(if(villkor,värde,GetGvar(667)),667,D,L)

      mult(sell0,1)

      Comment


      • #4
        Här är ytterligare en variant.

        Nyttvärde= blaha
        SetGVarIf(nyttvärde,1001, Not(Eqv(GetGVar(1000), nyttvärde)),T)
        Triggvillkor innehållande GetGVar(1000) och GetGvar(1001)
        SetGVarif(GetGVar(1001),1000,1,T)

        mvh
        Bertil
        Last edited by Bertil; 2018-05-23, 17:50.

        Comment


        • #5
          Min kod "fungerar" men den säljer för tidigt. Den verkar inte ta hänsyn till att förra mätningen ska ha gjorts efter senaste köp.

          Comment


          • #6
            Jag vet ej exakt vad du vill göra. Borde fungera utan att krångla till det för mycket.

            mätning_efter=gt(date(),lasttrade(b,d))
            sell0=and(and(lt(värde,getgvar(667)),villkor),mätning_efter)
            SetGvarIf(värde,667,villkor)
            mult(sell0,1)

            Edit: så fort du har gjort ett köp kommer mätningen_efter alltid vara sann. Oavsett om den köpte idag eller för två år sedan.
            Last edited by Henric; 2018-05-23, 17:58.

            Comment


            • #7
              Båda mätningarna måste ha gjorts efter köpet.

              Därför försökte jag med:

              GetGvar(667,p)

              Bör jag inte få datumstämpeln på föregående mätning då?
              Last edited by swedtraders; 2018-05-23, 18:10.

              Comment


              • #8
                Båda? ...minst10 tecken

                Edit: cell 667 kan väl komma ur range och inte kunna ändras. Svårt att veta hur det ska fungera.
                Last edited by Henric; 2018-05-23, 18:16.

                Comment


                • #9
                  Vet inte riktigt vad du menar... men ingående mätning (mätning_efter) ska ha gjorts efter köpet. Sen görs koll mot villkor och nytt värde sparas och scriptet kan bli sant.

                  Comment


                  • #10
                    Det beror på vad värde är för något. Du vill alltså ha minst två mätningar efter köp. Jag brukar göra annorlunda. Om du skriver exakt vad du vill göra kan jag försöka annars kan kanske någon som använder liknande hjälpa.

                    Comment


                    • #11
                      Haha! Jag försöker beskriva exakt, tro mig. Inte så lätt det här! Nytt försök:

                      Datumstämpeln för det avlästa ingående värdet GetGvar(667) ska vara nyare än senaste köp för att scriptet ska kunna bli sant. Scriptet läser av själva värdet korrekt (jag kan rita ut det i chartet) men returnerar sant för tidigt (som jag tolkar det, för att den ingående mätningen gjorts före senaste köpet).

                      Hoppas det blev tydligare nu.

                      Edit: Värde är kursen i aktuellt instrument.

                      Edit2: Är det så enkelt att senaste köp måste villkoras mot senaste sälj också? Mätningen görs ju alltid efter senaste köp, antingen ett gammalt som sen sålts eller mot ett färskt nuvarande innehav. Sååå... senaste köp ska ha gjorts efter senaste sälj... Kan detta lösa knuten tro?
                      Last edited by swedtraders; 2018-05-23, 19:25.

                      Comment


                      • #12
                        Ursprungligen postat av swedtraders Visa inlägg
                        Båda mätningarna måste ha gjorts efter köpet.

                        Därför försökte jag med:

                        GetGvar(667,p)

                        Bör jag inte få datumstämpeln på föregående mätning då?

                        Hämtar väl värdet från senaste skrivning. Vill du inte ha d istället för p?
                        Det finns säkert någon anledning till varför du bygger på detta sättet. Ofta går det att kolla kursen från senaste köp, sälj, etc. Även tex lägsta och högsta sedan köp. Senaste inlägget: ja tidpunkten från senaste köp kommer att användas tills nästa köp.

                        Edit: Cellvärdet kan hamna i ett läge som aldrig nås eller att det ligger kvar under lång tid.
                        Last edited by Henric; 2018-05-23, 19:50.

                        Comment


                        • #13
                          Här är ett exempel från beskrivningen:
                          GetGvar(78) hämtar värdet i cell 78. För att sätta värden använder man SetGvarIf(). GetGvar(78,D) hämtar tidstämpeln då variabeln skrevs till senast. GetGvar(78,P) hämtar också samma cell som tidstämpeln men syftar på att man använt variabeln för att lagra gamla värdet i cellen i datumdelen.

                          SetGvarIf(d,n,c,NDLEPT)
                          P=Previous, dvs variabeln agera som två variabler med nuvarande värde och gamla värdet sparas i tidstämpeln och kan hämtas med GetGvar(d,P).


                          Det verkar alltså som att man inte kan använda både P och D. Vill man alltså använda funktionen P för previous så skrivs detta värde i datumdelen dvs då kan man inte använda datumfunktionen samtidigt.

                          mvh
                          Bertil

                          Comment


                          • #14
                            P var tänkt att hämta Previous, men det funkar kanske inte för att hämta föregående datumstämpel utan bara det sparade värdet?! Tolkar det så nu när jag igen läser om GetGvar (i manualen via välj formel i scriptredigeraren)...

                            Comment


                            • #15
                              D=Datum, dvs parameter 3 förutsätt vara ett datum/tidpunkt att tidstämpla skrivningen med.
                              L=Later, dvs skrivning sker om medskickat datum i parameter 3 är senrare än tidstämpeln för variabeln från tidigare skrivning

                              Du skriver ju
                              SetGvarIf(if(villkor,värde,GetGvar(667)),667,D,L)

                              Själv använder jag aldrig dessa finesser för att inte hamna i samma situation som du.

                              mvh
                              Bertil

                              Comment

                              Working...
                              X