Allmänt meddelande

Collapse
No announcement yet.

Antal perioder sedan köp

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

  • #16
    Hej,

    nej, men jag hade kliptt in skriptet i både rätt och fel ruta som heter "Filter skript to limit selection further". Attans att jag var så klantig

    Men stort tack för din grymt bra support!

    Comment


    • #17
      Hur moddar man detta till att bara räkna börsdagar? (dvs när börsen är öppen)
      När jag lägger till detta villkor får jag bara kalenderdagar som räknas.

      dag4:=ADD(int(lasttrade(b,d)),3)




      Ursprungligen postat av Rikard Nilsson Visa inlägg
      Om du bara vill ha dagar sedan köp behövs inga celler:

      buy_day:=int(lasttrade(b,d))
      today:=int(d)
      days:=sub(today,buy_day)


      Comment


      • #18
        Nja, det ska endast räkna börsdagar. Alla andra dagar "finns inte" i dataserien. Har du någon skärmdump eller liknande som visar hur det blir?

        Comment


        • #19
          Här köper den en fredag just innan stängning, och sedan exit Onsdag (5 kalenderdagar)

          Samt ett till exempel.
          Attached Files

          Comment


          • #20
            Hm, hur ser egentligen scriptet ut? Det ser ju spontant ut som att dag4 är ett numeriskt värde på köpdagen + 3 dagar. Dvs, köp på fredag blir larm på onsdag eftersom det då gått 3 börsdagar.

            Comment


            • #21
              Köpdag:=int(lasttrade(b,d))
              Idag:=int(date())

              { räknar fram antalet dagar sedan köp och kollar om villkoret är uppfyllt (eftersom köp sker just innan stängning läggs 5d på för att få "heldagar")}
              Dag5:=ge(Idag,ADD(Köpdag,5))
              Last edited by PerG; 2013-01-10, 23:51.

              Comment


              • #22
                Vet inte om du kan addera dig fram till en dag som ev. inte finns. Prova att skriva om Dag5 exempelvis som nedan så borde du få handelsdagar istället för kalenderdagar.

                Dag5:=ge(sub(Idag,Köpdag),5)

                Last edited by LillWicke; 2013-01-11, 01:42.

                Comment


                • #23
                  Jag har verkligen testat, och det ända som jag får att prestera att ligga exakt 5 börsdagar är detta villkor

                  Dag5:=EQV(sub(Idag,Köpdag),7)

                  Då ligger den ca 42,5 timmar i innehav.

                  Känns lite ologiskt att räkna på detta sättet, men det är det som simulatorn tagit som korrekt villkor för att ligga 5 börsdagar efter köp i marknaden.


                  Screen Shot 2013-01-13 at 10.01.54 PM.png

                  Comment


                  • #24
                    Lånar tråden lite.

                    Det känns lite som det står tidigare i tråden, men jag förstår inte riktigt hur Topbars och lasttrade fungerar så det är väl lika bra att fråga:

                    Jag vill ha ett säljskript som som triggar X perioder efter köp, är detta rätt?

                    i5)
                    köpperiod:=int(lasttrade(b,d))
                    nuperiod:=int(d)
                    antalperioder:=sub(nuperiod,köperiod)
                    periodstopp:=gt(antalperioder,X)
                    )

                    Comment


                    • #25
                      Du är på rätt spår, men några saker är lite fel.

                      köpperiod:=int(lasttrade(b,d))

                      returnerar dagen för köp, detta för att int() tar ut heltalsdelen utan decimaldelen som är tidpunkten på dagen. Om du ska få ut antal 5-minutersperioder sedan köp behöver du få med även decimaldelen, så Int() ska bort:

                      köpperiod:=lasttrade(b,d)

                      Det är samma fel med nuperiod:=int(d) som helt kan ersättas med bara "d" som i sig själv innehåller både dag (heltalsdel) och tidpunkt på dagen (decimaldel).

                      Andra saker som är fel är intradayprefixets första parentes som är felvänd, samt att du använt kolon innanför intradayprefixet. Det är inte tillåtet utan ska köras med endast = för att fungera som minnesreferenser. Sista raden är ok sånär som på kolonet, men hela scriptet måste avslutas med returvärde från en funktion, så antingen tar man helt enkelt bort "periodstopp" och låter villkoret med gt() returnera scriptets output, alternativt lägga till en till rad med någon funktion som kan returnera sant eller falskt. Två varianter nedan:

                      Rättat script:


                      i5(
                      köpperiod=lasttrade(b,d)
                      antalperioder=sub(d,köperiod)
                      gt(antalperioder,X)
                      )


                      eller följande:


                      i5(
                      köpperiod=lasttrade(b,d)
                      antalperioder=sub(d,köperiod)
                      periodstopp=gt(antalperioder,X)
                      mult(periodstopp,1)
                      )


                      Comment


                      • #26
                        Hmm, får det inte till att funka ändå.

                        Satte på perioden till 10 (50minuter), men inget sälj triggas så jag antar att gt(antalperioder,10) aldrig blir TRUE av nån anledning, provade allt från 1 period till 30 men inget funkade. Sen om jag byter till lt(antalperioder,10) stängs alla positioner så fort säljs innehaven av samma sekund som köpet uppstod. Så jag antar att det är nåt i:köpperiod=lasttrade(b,d)
                        antalperioder=sub(d,köpperiod)

                        Testar i Analysbänken dvs.

                        Går det förresten att få ut en logg när man kör analysbänken för att se vilka värde som triggas etc?

                        Comment


                        • #27
                          Får du något käp i bänken så att det finns något att räkna mot? Man kan lägga till script i bänken som redovisas i egna kolumner om man vill studera olika värden.

                          Comment


                          • #28
                            Japp, jag har detta som köpskript:

                            i5(
                            stapel1=lt(ref(c,1),ref(c,2)) {close stapel1 mindre än stapel2}
                            stapel2=gt(c,ref(c,1)) {close stapel0 större än stapel1}
                            signal=AND(stapel1,stapel2)
                            mult(signal,15)
                            )

                            Sen använder jag "Stäng köp innan börsstängning" så det genereras ett köp i början av dagen och ett sälj i slutet varje dag för testperioden iom att villkoren är så pass generella.

                            Edit: Verkar också som att om jag sätter ge(antalperioder,0) får jag avslut lite random mellan uppskattningsvis 2-20 min efter köp.
                            Last edited by logiken; 2013-02-03, 18:33.

                            Comment


                            • #29
                              Nu har jag testat att logga ned date i int-format, och den räknar med dagar när börsen är stängd.

                              Som ni ser i cell2 så räknas tydligen helgdagarna trots att börsen är stängd.

                              >> Frågan kvarstår således, Hur gör man för att endast räkna börsdagar?




                              [QUOTE=PerG;25508]Jag har verkligen testat, och det ända som jag får att prestera att ligga exakt 5 börsdagar är detta villkor

                              Dag5:=EQV(sub(Idag,Köpdag),7)

                              Då ligger den ca 42,5 timmar i innehav.

                              Känns lite ologiskt att räkna på detta sättet, men det är det som simulatorn tagit som korrekt villkor för att ligga 5 börsdagar efter köp i marknaden.
                              Attached Files

                              Comment


                              • #30
                                Det går kanske att räkna perioder sedan köp. Tex för i60() blir det ca 43 perioder.

                                Comment

                                Working...
                                X