Allmänt meddelande

Collapse
No announcement yet.

Omxspi

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

  • 10:18 ORDER "sl) Mitt SPI köp vänd OMXS307D" kurs 1543.50 -13.50

    Skarpt sedan 1/7: -76.70 punkter

    mvh
    Bertil

    Comment


    • Efter önskemål från Palgrave publicerar jag min SPI strategi. Den handlar direkt på terminen, alltså inte på index.
      Ordermodellen för denna köpstrategi skall kombineras med va) scriptet "Bertils antal"
      --------------------------------------

      { Bertils SPI köp }
      { 170324 }
      innehav:=Portfolio(v)
      ok_att_handla:=eqv(innehav,0)
      tidspärr1:=1010
      tidspärr2:=1010
      lt1:=LastTrade(S,D)
      lt2:=LastTrade(B,D)
      minSedanSälj:=Mult(Sub(Date(),lt1),1440)
      minSedanKöp:=Mult(Sub(Date(),lt2),1440)
      delay_ok:=gt(minSedanSälj,tidspärr1)
      trans_ok:=gt(minSedanKöp,tidspärr2)

      i1(
      tidA=gt(int(mult(frac(d),1440)),600)
      tidB=gt(int(mult(frac(d),1440)),660)
      nyss=or(Lt(minSedanKöp,1400),Lt(minSedanSälj,1400))
      tid1=if(nyss,tidB,tidA)
      { före kl 17.00 }
      tid2=lt(int(mult(frac(d),1440)),1020)
      perioder01=Sub(int(mult(frac(d),1440)),540)
      högastor=Hhv(H,perioder01)
      S30då=mov(cmpref(c,1,a),60)
      SPIdå=mov(cmpref(c,1,b),60)
      S30nu=cmpref(c,0,a)
      SPInu=div(mult(cmpref(c,0,b),S30då),SPIdå)
      SPIjust=div(mult(cmpref(c,0,c),S30då),SPIdå)


      diffSPIS30=sub(SPInu,S30nu)
      kurva01=mov(c,10)
      kurva02=mov(SPIjust,10)
      medel=Div(Add(SPInu,S30nu),2)
      Draw(S30nu,1,dgqb0)
      Draw(kurva02,2,rqb0)
      Draw(medel,3,bqb0)

      villkor01=Gt(sub(medel,aref(medel,1)),1)
      villkor02=Gt(Div(Sub(kurva01,aref(kurva01,1)),kurva01),0.00025)
      villkor03=Gt(Div(Sub(kurva02,aref(kurva02,1)),kurva02),0.00001)
      villkor04=Gt(sub(SPInu,aref(SPInu,1)),0.4)

      { Köp ej från nollinnehav måndagar och fredagar annat än vid mycket hög volatilitet }
      villkor92=And(Gt(Sub(Mx(cmpref(H,2,a),cmpref(H,1,a)),MN(cmpref(L,2,a),cmpref(L,1,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
      villkor93=And(Gt(Sub(Mx(cmpref(H,3,a),cmpref(H,2,a)),MN(cmpref(L,3,a),cmpref(L,2,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
      villkor98=Or(Not(or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5))),or(And(villkor92,villkor93),and(EQV(DayOfWeek(),5),or(villkor92,villkor92))))

      villkor50=Gt(c,sub(högastor,7))

      köpa=And(And(And(villkor01,villkor02),villkor02),villkor98)
      ditt_köpscript=And(And(And(And(köpa,tid1),tid2),delay_ok),trans_ok)
      köpsignal=And(ditt_köpscript,ok_att_handla)
      Mult(köpsignal,10)
      )




      {@A(0,OMX Stock )@B(0,SX All-Sha)@C(1,SX All-Sha)}
      Last edited by Bertil; 2017-03-24, 19:35.

      Comment


      • Ordermodellen skall innehålla va) scriptet "Bertils vända innehav".
        -----------------------------------------

        { Bertils SPI köp vänd }
        { 170324 }
        innehav:=Portfolio(v)
        ok_att_handla:=lt(innehav,0)
        tidspärr1:=510
        tidspärr2:=510
        lt1:=LastTrade(S,D)
        lt2:=LastTrade(B,D)
        minSedanSälj:=Mult(Sub(Date(),lt1),1440)
        minSedanKöp:=Mult(Sub(Date(),lt2),1440)
        delay_ok:=gt(minSedanSälj,tidspärr1)
        trans_ok:=gt(minSedanKöp,tidspärr2)

        i1(
        tidA=gt(int(mult(frac(d),1440)),600)
        vinst01=int(sub(LastTrade(s,p),c))
        tidB=gt(int(mult(frac(d),1440)),660)
        tidC=gt(int(mult(frac(d),1440)),770)

        kosing=gt(vinst01,30)
        tidD=if(kosing,tidB,tidA)
        villkor92=And(Gt(Sub(Mx(cmpref(H,2,a),cmpref(H,1,a)),MN(cmpref(L,2,a),cmpref(L,1,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
        villkor93=And(Gt(Sub(Mx(cmpref(H,3,a),cmpref(H,2,a)),MN(cmpref(L,3,a),cmpref(L,2,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
        villkor98=Or(Not(or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5))),or(And(villkor92,villkor93),and(EQV(DayOfWeek(),5),or(villkor92,villkor92))))
        villkor51=And(villkor98,EQV(DayOfWeek(),5))


        { före kl 17.00 }
        tid2=lt(int(mult(frac(d),1440)),1020)
        perioder01=Sub(int(mult(frac(d),1440)),580)
        högastor=Hhv(H,perioder01)

        S30då=mov(cmpref(c,1,a),60)
        SPIdå=mov(cmpref(c,1,b),60)
        S30nu=cmpref(c,0,a)
        SPInu=div(mult(cmpref(c,0,b),S30då),SPIdå)
        SPIjust=div(mult(cmpref(c,0,c),S30då),SPIdå)

        kurva01=mov(c,10)
        kurva02=mov(SPIjust,10)
        medel=Div(Add(SPInu,S30nu),2)
        Draw(S30nu,1,dgqb0)
        Draw(SPInu,2,rqb0)
        Draw(medel,3,bqb0)
        senast01=Mov(abs(sub(medel,aref(medel,1))),6)
        senast02=Abs(Mov(sub(medel,aref(medel,1)),6))
        Kvot=Div(senast01,senast02)
        skillnad01=sub(medel,aref(medel,1))
        skillnad02=sub(medel,aref(medel,2))
        värde01=if(gt(kvot,0.1),skillnad01,skillnad02)

        villkor01=Gt(värde01,1.55)
        villkor02=Gt(Div(Sub(kurva01,aref(kurva01,1)),kurva01),0.00015)
        villkor03=Gt(Div(Sub(kurva02,aref(kurva02,1)),kurva02),0.00001)
        villkor04=Gt(sub(SPInu,aref(SPInu,1)),0.4)
        villkor05=or(Gt(Sub(Lasttrade(b,p),c),0),Lt(Sub(Lasttrade(b,p),c),-3))
        villkor06=or(Gt(Sub(Lasttrade(s,p),c),0),Lt(Sub(Lasttrade(s,p),c),-15))
        villkor07=or(villkor05,villkor06)
        villkor08=Lt(minSedanKöp,3000)
        villkor09=if(villkor08,villkor07,1)
        villkor10=or(EQV(DayOfWeek(),1),villkor08)
        villkor11=or(Gt(Sub(Lasttrade(b,p),c),3),Lt(Sub(Lasttrade(b,p),c),-3))
        tid1=if(and(not(villkor11),villkor10),tidC,tidD)
        villkor50=Gt(c,Sub(högastor,1))
        villkor52=if(villkor51,villkor50,1)


        köpa=And(And(And(And(villkor01,villkor02),villkor09),villkor52),villkor01)

        ditt_köpscript=And(And(And(And(köpa,tid1),tid2),delay_ok),trans_ok)
        köpsignal=And(ditt_köpscript,ok_att_handla)
        Mult(köpsignal,10)
        )


        {@A(0,OMX Stock )@B(0,SX All-Sha)@C(1,SX All-Sha)}
        Last edited by Bertil; 2017-03-24, 20:54.

        Comment


        • Ordermodellen för denna säljstrategi skall kombineras med va) scriptet "Bertils antal"
          -----------------------------------

          { Bertils SPI sälj }
          { 170324 }
          innehav:=Portfolio(v)
          ok_att_handla:=eqv(innehav,0)
          tidspärr1:=1010
          tidspärr2:=1010
          lt1:=LastTrade(B,D)
          lt2:=LastTrade(S,D)
          minSedanSälj:=Mult(Sub(Date(),lt1),1440)
          minSedanKöp:=Mult(Sub(Date(),lt2),1440)
          delay_ok:=gt(minSedanSälj,tidspärr1)
          trans_ok:=gt(minSedanKöp,tidspärr2)

          i1(
          tid1=gt(int(mult(frac(d),1440)),660)
          { före kl 17.00 }
          tid2=lt(int(mult(frac(d),1440)),1020)

          S30då=mov(cmpref(c,1,a),60)
          SPIdå=mov(cmpref(c,1,b),60)
          S30nu=cmpref(c,0,a)
          SPInu=div(mult(cmpref(c,0,b),S30då),SPIdå)

          kurva01=mov(c,10)
          medel=Div(Add(SPInu,S30nu),2)
          senast01=Mov(abs(sub(medel,aref(medel,1))),8)
          senast02=Abs(Mov(sub(medel,aref(medel,1)),8))
          Kvot=Div(senast01,senast02)
          skillnad01=sub(medel,aref(medel,1))
          skillnad02=sub(medel,aref(medel,2))
          skillnad03=sub(medel,aref(medel,3))
          värde01=if(gt(kvot,2),skillnad01,skillnad02)

          villkor01=Lt(sub(medel,aref(medel,1)),-2.0)
          villkor02=Lt(Div(Sub(kurva01,aref(kurva01,1)),kurva01),-0.0001)
          villkor03=Lt(värde01,-0.9)

          { Blanka ej från nollinnehav måndagar och fredagar annat än vid mycket hög volatilitet }
          villkor92=And(Gt(Sub(Mx(cmpref(H,2,a),cmpref(H,1,a)),MN(cmpref(L,2,a),cmpref(L,1,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
          villkor93=And(Gt(Sub(Mx(cmpref(H,3,a),cmpref(H,2,a)),MN(cmpref(L,3,a),cmpref(L,2,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
          villkor98=Or(Not(or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5))),or(And(villkor92,villkor93),and(EQV(DayOfWeek(),5),or(villkor92,villkor92))))

          Draw(medel,3,dgqb0)

          sälja=And(And(And(And(villkor01,villkor02),villkor03),villkor98),villkor01)

          ditt_säljscript=And(And(And(And(sälja,tid1),tid2),delay_ok),trans_ok)
          säljsignal=And(ditt_säljscript,ok_att_handla)
          Mult(säljsignal,10)
          )

          {@A(0,OMX Stock )@B(0,SX All-Sha)}
          Last edited by Bertil; 2017-03-24, 19:35.

          Comment


          • Ordermodellen skall innehålla va) scriptet "Bertils vända innehav".
            ------------------------------

            { Bertils SPI sälj vänd }
            { 170324 }
            innehav:=Portfolio(v)
            ok_att_handla:=gt(innehav,0)
            tidspärr1:=1010
            tidspärr2:=510
            lt1:=LastTrade(S,D)
            lt2:=LastTrade(B,D)
            minSedanSälj:=Mult(Sub(Date(),lt1),1440)
            minSedanKöp:=Mult(Sub(Date(),lt2),1440)
            delay_ok:=gt(minSedanSälj,tidspärr1)
            trans_ok:=gt(minSedanKöp,tidspärr2)

            i1(
            tidA=gt(int(mult(frac(d),1440)),550)
            vinst01=int(sub(c,LastTrade(b,p)))
            tidB=gt(int(mult(frac(d),1440)),600)
            tidC=gt(int(mult(frac(d),1440)),630)

            nyss=Lt(minSedanSälj,1500)
            kosing=gt(vinst01,21)
            tidD=if(kosing,tidB,tidA)

            villkor92=And(Gt(Sub(Mx(cmpref(H,2,a),cmpref(H,1,a)),MN(cmpref(L,2,a),cmpref(L,1,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
            villkor93=And(Gt(Sub(Mx(cmpref(H,3,a),cmpref(H,2,a)),MN(cmpref(L,3,a),cmpref(L,2,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
            villkor98=Or(Not(or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5))),or(And(villkor92,villkor93),and(EQV(DayOfWeek(),5),or(villkor92,villkor92))))
            villkor51=And(villkor98,EQV(DayOfWeek(),1))

            { före kl 17.00 }
            tid2=lt(int(mult(frac(d),1440)),1020)

            S30då=mov(cmpref(c,1,a),60)
            SPIdå=mov(cmpref(c,1,b),60)
            S30nu=cmpref(c,0,a)
            SPInu=div(mult(cmpref(c,0,b),S30då),SPIdå)
            perioder01=Sub(int(mult(frac(d),1440)),550)
            lågaliten=Llv(L,perioder01)

            kurva01=mov(c,10)
            kurva02=mov(c,5)
            medel=Add(mult(SPInu,0.5),mult(S30nu,0.5))
            senast01=Mov(abs(sub(medel,aref(medel,1))),8)
            senast02=Abs(Mov(sub(medel,aref(medel,1)),8))
            Kvot=Div(senast01,senast02)
            skillnad01=sub(medel,aref(medel,1))
            skillnad02=sub(medel,aref(medel,2))
            skillnad03=sub(medel,aref(medel,3))
            värde01=if(gt(kvot,2),skillnad01,skillnad02)
            värde02=if(gt(kvot,1.3),skillnad01,skillnad03)

            Draw(Add(kvot,medel),3,bqb0)
            Draw(Add(0,medel),4,rqb0)
            villkor01=Lt(värde01,-0.9)
            villkor02=Lt(Div(Sub(kurva01,aref(kurva01,1)),kurva01),-0.0001)
            villkor03=Gt(Div(Sub(kurva02,aref(kurva02,1)),kurva02),-0.00001)
            villkor04=Lt(sub(medel,aref(medel,1)),-0.3)
            villkor05=Lt(värde02,-0.5)
            villkor06=or(Gt(Sub(Lasttrade(b,p),c),0),Lt(Sub(Lasttrade(b,p),c),-3))
            villkor07=or(Gt(Sub(Lasttrade(s,p),c),3),Lt(Sub(Lasttrade(s,p),c),-3))
            villkor08=and(villkor06,villkor07)
            villkor09=Lt(minSedanSälj,3000)
            villkor10=if(villkor09,villkor07,1)
            villkor11=And(EQV(DayOfWeek(),1),Lt(minSedanSälj,8000))
            villkor12=And(Lt(Sub(Lasttrade(s,p),c),3),Gt(Sub(Lasttrade(s,p),c),-3))
            villkor13=And(Lt(Sub(Lasttrade(b,p),c),3),Gt(Sub(Lasttrade(b,p),c),-3))
            villkor14=And(villkor12,villkor13)
            villkor50=Lt(c,add(lågaliten,1))
            villkor52=if(villkor51,villkor50,1)

            tid1=if(and(villkor14,villkor11),tidC,tidD)

            sälja=And(And(And(And(villkor01,villkor02),villkor04),villkor52),villkor01)

            ditt_säljscript=And(And(And(And(sälja,tid1),tid2),delay_ok),trans_ok)
            säljsignal=And(ditt_säljscript,ok_att_handla)
            Mult(säljsignal,10)
            )

            {@A(0,OMX Stock )@B(0,SX All-Sha)}
            Last edited by Bertil; 2017-03-24, 20:53.

            Comment


            • va) scriptet "Bertils antal"
              Detta script köper (eller blankar) 1 enhet på den termin som är aktuell. Man kan kryssa för flera terminer då man simulerar. Detta script håller reda på när varje termin är aktiv. OBS börja simuleringen bara med 1 termin. Kör sedan tex 2 (detta kommer att ta 4 gånger längre simuleringstid) Obs anpassa tiden för analysen så att den stämmer överens med när terminerna handlas, annars tar det väldigt lång tid att analysera. Om man skall simulera alla terminer som finns i scripten samtidigt så tar simuleringen runt ett dygn beroende på hur snabb dator man har.
              -------------------------------

              { Bertils antal }

              i1(
              köpantal=Add(0,1)
              innehav=Portfolio(v)
              övermål=Ge(innehav,köpantal)
              slutantal1=If(övermål,0,SUB(köpantal,innehav))

              O4FB=Ge(date(),2456794)
              O4FE=Lt(date(),2456826)
              O4GB=Ge(date(),2456826)
              O4GE=Lt(date(),2456856)
              O4HB=Ge(date(),2456856)
              O4HE=Lt(date(),2456888)
              O4IB=Ge(date(),2456888)
              O4IE=Lt(date(),2456919)
              O4JB=Ge(date(),2456919)
              O4JE=Lt(date(),2456947)
              O4KB=Ge(date(),2456947)
              O4KE=Lt(date(),2456982)
              O4LB=Ge(date(),2456982)
              O4LE=Lt(date(),2457010)
              O5AB=Ge(date(),2457010)
              O5AE=Lt(date(),2457038)
              O5BB=Ge(date(),2457038)
              O5BE=Lt(date(),2457073)
              O5CB=Ge(date(),2457073)
              O5CE=Lt(date(),2457101)
              O5DB=Ge(date(),2457101)
              O5DE=Lt(date(),2457128)
              O5EB=Ge(date(),2457128)
              O5EE=Lt(date(),2457156)
              O5FB=Ge(date(),2457156)
              O5FE=Lt(date(),2457192)
              O5GB=Ge(date(),2457192)
              O5GE=Lt(date(),2457221)
              O5HB=Ge(date(),2457221)
              O5HE=Lt(date(),2457254)
              O5IB=Ge(date(),2457254)
              O5IE=Lt(date(),2457283)
              O5JB=Ge(date(),2457283)
              O5JE=Lt(date(),2457310)
              O5KB=Ge(date(),2457310)
              O5KE=Lt(date(),2457346)
              O5LB=Ge(date(),2457346)
              O5LE=Lt(date(),2457375)
              O6AB=Ge(date(),2457375)
              O6AE=Lt(date(),2457403)
              O6BB=Ge(date(),2457403)
              O6BE=Lt(int(date()),2457436)
              O6CB=Ge(int(date()),2457436)
              O6CE=Lt(int(date()),2457465)
              O6DB=Ge(int(date()),2457465)
              O6DE=Lt(date(),2457492)
              O6EB=Ge(date(),2457492)
              O6EE=Lt(date(),2457527)
              O6FB=Ge(date(),2457527)
              O6FE=Lt(date(),2457555)
              O6GB=Ge(date(),2457555)
              O6GE=Lt(date(),2457583)
              O6HB=Ge(date(),2457583)
              O6HE=Lt(date(),2457618)
              O6IB=Ge(date(),2457618)
              O6IE=Lt(date(),2457646)
              O6JB=Ge(date(),2457646)
              O6JE=Lt(date(),2457681)
              O6KB=Ge(date(),2457681)
              O6KE=Lt(date(),2457709)
              O6LB=Ge(date(),2457709)
              O6LE=Lt(date(),2457737)
              O7AB=Ge(date(),2457737)
              O7AE=Lt(date(),2457772)
              O7BB=Ge(date(),2457772)
              O7BE=Lt(date(),2457800)
              O7CB=Ge(date(),2457800)
              O7CE=Lt(date(),2457828)
              O7DB=Ge(date(),2457828)
              O7DE=Lt(date(),2457867)


              villkor4F=And(And(O4FB,O4FE),eqv(crcid(),1391064143))
              villkor4G=And(And(O4GB,O4GE),eqv(crcid(),1395367544))
              villkor4H=And(And(O4HB,O4HE),eqv(crcid(),1484249413))
              villkor4I=And(And(O4IB,O4IE),eqv(crcid(),1505080178))
              villkor4J=And(And(O4JB,O4JE),eqv(crcid(),1542655275))
              villkor4K=And(And(O4KB,O4KE),eqv(crcid(),1513187100))
              villkor4L=And(And(O4LB,O4LE),eqv(crcid(),1602122137))
              villkor5A=And(And(O5AB,O5AE),eqv(crcid(),4011492783))
              villkor5B=And(And(O5BB,O5BE),eqv(crcid(),3982244854))
              villkor5C=And(And(O5CB,O5CE),eqv(crcid(),3969798593))
              villkor5D=And(And(O5DB,O5DE),eqv(crcid(),3922806596))
              villkor5E=And(And(O5EB,O5EE),eqv(crcid(),3893570931))
              villkor5F=And(And(O5FB,O5FE),eqv(crcid(),3931476778))
              villkor5G=And(And(O5GB,O5GE),eqv(crcid(),3952605469))
              villkor5H=And(And(O5HB,O5HE),eqv(crcid(),3771448864))
              villkor5I=And(And(O5IB,O5IE),eqv(crcid(),3775517719))
              villkor5J=And(And(O5JB,O5JE),eqv(crcid(),3813632590))
              villkor5K=And(And(O5KB,O5KE),eqv(crcid(),3800891513))
              villkor5L=And(And(O5LB,O5LE),eqv(crcid(),3888256764))
              villkor6A=And(And(O6AB,O6AE),eqv(crcid(),4256115265))
              villkor6B=And(And(O6BB,O6BE),eqv(crcid(),4293497880))
              villkor6C=And(And(O6CB,O6CE),eqv(crcid(),4264295983))
              villkor6D=And(And(O6DB,O6DE),eqv(crcid(),4217694378))
              villkor6E=And(And(O6EB,O6EE),eqv(crcid(),4205216413))
              villkor6F=And(And(O6FB,O6FE),eqv(crcid(),4175445188))
              villkor6G=And(And(O6GB,O6GE),eqv(crcid(),4179777267))
              villkor6H=And(And(O6HB,O6HE),eqv(crcid(),4068348366))
              villkor6I=And(And(O6IB,O6IE),eqv(crcid(),4089215993))
              villkor6J=And(And(O6JB,O6JE),eqv(crcid(),4059743648))
              villkor6K=And(And(O6KB,O6KE),eqv(crcid(),4030246807))
              villkor6L=And(And(O6LB,O6LE),eqv(crcid(),4118264082))
              villkor7A=And(And(O7AB,O7AE),eqv(crcid(),1158892836))
              villkor7B=And(And(O7BB,O7BE),eqv(crcid(),1196815229))
              villkor7C=And(And(O7CB,O7CE),eqv(crcid(),1184340298))
              villkor7D=And(And(O7DB,O7DE),eqv(crcid(),1138266063))

              villkor92=And(Gt(Sub(Mx(cmpref(H,2,a),cmpref(H,1,a)),MN(cmpref(L,2,a),cmpref(L,1,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
              villkor93=And(Gt(Sub(Mx(cmpref(H,3,a),cmpref(H,2,a)),MN(cmpref(L,3,a),cmpref(L,2,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))

              villkor98=Or(Not(or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5))),or(And(villkor92,villkor93),and(EQV(DayOfWeek(),5),or(villkor92,villkor92))))
              villkor99=or(or(or(or(or(or(or(or(or(or(villkor4I,villkor4H),villkor4G),villkor4F),villkor5D),villkor5E),villkor5F),villkor5G),villkor5H),villkor5L),v illkor6B)
              villkor22=or(or(or(or(or(or(or(or(or(or(villkor4L,villkor5A),villkor5B),villkor5C),villkor4K),villkor4J),villkor99),villkor5I),villkor5J),villkor5K),v illkor6A)
              villkor23=or(or(or(or(or(or(or(or(or(or(villkor22,villkor6C),villkor6D),villkor6E),villkor6F),villkor6G),villkor6H),villkor6I),villkor6J),villkor6K),v illkor6L)
              villkor02=or(or(or(or(villkor23,villkor7A),villkor7B),villkor7C),villkor7D)

              slutantal2=Mult(if(And(and(villkor98,villkor98),villkor02),slutantal1,0),1)

              Add(slutantal2,0)
              )

              {@A(0,)}

              --------------------
              Edit: Om man simulerar ett helt år dvs kryssar för 12 terminer samtidigt så är simuleringstiden 144 gånger längre än om man simulerar1 termin.
              Last edited by Bertil; 2017-03-25, 10:15. Anledning: Rättat script

              Comment


              • va) scriptet "Bertils vända innehav"
                ------------------

                { Bertils vända innehav }

                innehav:=Portfolio(v)
                ok_att_handla:=1

                i1(

                tid7=le(int(mult(frac(d),1440)),585)
                tid8=ge(int(mult(frac(d),1440)),581)
                villkorTT=If(Gt(innehav,0),Not(And(tid7,tid8)),1)
                skara=div(mult(frac(d),1440),90)
                vara=sub(skara,int(skara))
                villkorPP=if(ok_att_handla,and(gt(vara,0.011),Lt(vara,0.99999)),1)
                slutantal=Mult(Mult(ABS(innehav),2),villkorPP)
                Add(slutantal,0)

                )
                Last edited by Bertil; 2017-03-24, 20:37.

                Comment


                • Sedan måste man ha sl) script för att gå ur terminen varje månad. Nedanstående köpscript skall kombineras med va) scriptet "Bertils allt innehav av aktuellt instrument"
                  ------------------------------------------
                  { Bertils cover vid terminsslut }

                  minuter:=5.25
                  { ange antal minuter innan stängning du vill att scriptet ska slå till }
                  stängning:=le(mult(1440,sub(market(c),frac(date()))),minuter)
                  lastsell:=LastTrade(S,P)
                  tidspärr1:=1
                  lt1:=LastTrade(S,D)
                  minSedanShort:=Mult(Sub(Date(),lt1),1440)
                  delay_ok:=gt(minSedanShort,tidspärr1)
                  i1(

                  O4FE=Eqv(Int(date()),2456825)
                  O4GE=Eqv(Int(date()),2456855)
                  O4HE=Eqv(Int(date()),2456884)
                  O4IE=Eqv(Int(date()),2456918)
                  O4JE=Eqv(Int(date()),2456946)
                  O4KE=Eqv(Int(date()),2456981)
                  O4LE=Eqv(Int(date()),2457009)
                  O5AE=Eqv(Int(date()),2457037)
                  O5BE=Eqv(Int(date()),2457072)
                  O5CE=Eqv(Int(date()),2457100)
                  O5DE=Eqv(Int(date()),2457127)
                  O5EE=Eqv(Int(date()),2457155)
                  O5FE=Eqv(Int(date()),2457191)
                  O5GE=Eqv(Int(date()),2457220)
                  O5HE=Eqv(Int(date()),2457253)
                  O5IE=Eqv(Int(date()),2457282)
                  O5JE=Eqv(Int(date()),2457309)
                  O5KE=Eqv(Int(date()),2457345)
                  O5LE=Eqv(Int(date()),2457374)
                  O6AE=Eqv(Int(date()),2457402)
                  O6BE=Eqv(Int(date()),2457435)
                  O6CE=Eqv(Int(date()),2457464)
                  O6DE=Eqv(Int(date()),2457491)
                  O6EE=Eqv(Int(date()),2457526)
                  O6FE=Eqv(Int(date()),2457554)
                  O6GE=Eqv(Int(date()),2457582)
                  O6HE=Eqv(Int(date()),2457617)
                  O6IE=Eqv(Int(date()),2457645)
                  O6JE=Eqv(Int(date()),2457680)
                  O6KE=Eqv(Int(date()),2457708)
                  O6LE=Eqv(Int(date()),2457736)
                  O7AE=Eqv(int(date()),2457771)
                  O7BE=Eqv(int(date()),2457799)
                  07CE=Eqv(int(date()),2457827)



                  villkor99=or(or(or(or(or(or(or(or(or(or(O4FE,O4GE),O4HE),O4IE),O4JE),O4KE),O4LE),O5AE),O5BE),O5CE),O5DE)
                  villkor22=or(or(or(or(or(or(or(or(or(or(O5EE,O5FE),O5GE),O5HE),O5IE),O5JE),villkor99),O5KE),O5LE),O6AE),O6BE)
                  villkor23=or(or(or(or(or(or(or(or(or(or(villkor22,O6CE),O6DE),O6EE),O6FE),O6GE),O6HE),O6IE),O6JE),O6KE),O6LE)
                  villkor02=or(or(or(villkor23,O7AE),O7BE),07CE)

                  signal=And(And(And(lt(Portfolio(v),0),stängning),delay_ok),villkor02)
                  Mult(signal,10)
                  )
                  Last edited by Bertil; 2017-03-24, 19:47.

                  Comment


                  • Sedan måste man ha sl) script för att gå ur terminen varje månad. Nedanstående säljscript skall kombineras med va) scriptet "Bertils allt innehav av aktuellt instrument"
                    ------------------------------------------
                    { Bertils sälj vid terminsslut }

                    minuter:=5.25
                    { ange antal minuter innan stängning du vill att scriptet ska slå till }
                    stängning:=le(mult(1440,sub(market(c),frac(date()))),minuter)
                    lastbuy:=LastTrade(B,P)
                    i1(

                    O4FE=Eqv(Int(date()),2456825)
                    O4GE=Eqv(Int(date()),2456855)
                    O4HE=Eqv(Int(date()),2456884)
                    O4IE=Eqv(Int(date()),2456918)
                    O4JE=Eqv(Int(date()),2456946)
                    O4KE=Eqv(Int(date()),2456981)
                    O4LE=Eqv(Int(date()),2457009)
                    O5AE=Eqv(Int(date()),2457037)
                    O5BE=Eqv(Int(date()),2457072)
                    O5CE=Eqv(Int(date()),2457100)
                    O5DE=Eqv(Int(date()),2457127)
                    O5EE=Eqv(Int(date()),2457155)
                    O5FE=Eqv(Int(date()),2457191)
                    O5GE=Eqv(Int(date()),2457220)
                    O5HE=Eqv(Int(date()),2457253)
                    O5IE=Eqv(Int(date()),2457282)
                    O5JE=Eqv(Int(date()),2457309)
                    O5KE=Eqv(Int(date()),2457345)
                    O5LE=Eqv(Int(date()),2457374)
                    O6AE=Eqv(Int(date()),2457402)
                    O6BE=Eqv(Int(date()),2457435)
                    O6CE=Eqv(Int(date()),2457464)
                    O6DE=Eqv(Int(date()),2457491)
                    O6EE=Eqv(Int(date()),2457526)
                    O6FE=Eqv(Int(date()),2457554)
                    O6GE=Eqv(Int(date()),2457582)
                    O6HE=Eqv(Int(date()),2457617)
                    O6IE=Eqv(Int(date()),2457645)
                    O6JE=Eqv(Int(date()),2457680)
                    O6KE=Eqv(Int(date()),2457708)
                    O6LE=Eqv(Int(date()),2457736)
                    O7AE=Eqv(int(date()),2457771)
                    O7BE=Eqv(int(date()),2457799)
                    07CE=Eqv(int(date()),2457827)


                    villkor99=or(or(or(or(or(or(or(or(or(or(O4FE,O4GE),O4HE),O4IE),O4JE),O4KE),O4LE),O5AE),O5BE),O5CE),O5DE)
                    villkor22=or(or(or(or(or(or(or(or(or(or(O5EE,O5FE),O5GE),O5HE),O5IE),O5JE),villkor99),O5KE),O5LE),O6AE),O6BE)
                    villkor23=or(or(or(or(or(or(or(or(or(or(villkor22,O6CE),O6DE),O6EE),O6FE),O6GE),O6HE),O6IE),O6JE),O6KE),O6LE)
                    villkor02=or(or(or(villkor23,O7AE),O7BE),07CE)

                    signal=And(And(gt(Portfolio(v),0),stängning),villkor02)

                    Mult(signal,10)
                    )
                    Last edited by Bertil; 2017-03-25, 10:20.

                    Comment


                    • va) scripet "Bertils allt innehav av aktuellt instrument"
                      ------------------------------------------
                      { Bertils allt innehav av aktuellt instrument}

                      i1(
                      Abs(portfolio(v))
                      )

                      Comment


                      • Sedan behövs ett par TP script. Köp med va) scriptet "Bertils allt innehav av aktuellt instrument"
                        --------------------------------------------

                        { Bertils dynamiska TP kort }
                        { 170324 }
                        innehav:=Portfolio(v)
                        ok_att_handla:=Lt(innehav,0)

                        maxis:=div(mult(12,c),1250)
                        tidspärr1:=10
                        tidspärr2:=10
                        lt1:=LastTrade(S,D)
                        lt2:=LastTrade(S,D)
                        Lastsell:=LastTrade(S,P)
                        minSedanSälj:=Mult(Sub(Date(),lt1),1440)
                        minSedanTrans:=Mult(Sub(Date(),lt2),1440)
                        delay_ok:=gt(minSedanSälj,tidspärr1)
                        trans_ok:=gt(minSedanTrans,tidspärr2)

                        i1(
                        tid1=gt(int(mult(frac(d),1440)),570)
                        { före kl 09.11 }
                        tid2=lt(int(mult(frac(d),1440)),1035)
                        glapp=div(mult(18,c),1250)
                        del01=Sub(Mx(cmpref(H,1,a),cmpref(H,0,a)),MN(cmpref(L,1,a),cmpref(L,0,a)))
                        del02=Sub(Mx(cmpref(H,2,a),cmpref(H,1,a)),MN(cmpref(L,2,a),cmpref(L,1,a)))
                        del03=Sub(Mx(cmpref(H,3,a),cmpref(H,2,a)),MN(cmpref(L,3,a),cmpref(L,2,a)))
                        del04=Sub(Mx(cmpref(H,4,a),cmpref(H,3,a)),MN(cmpref(L,4,a),cmpref(L,3,a)))

                        hoppig01=Div(MX(MX(MX(del01,del02),del03),del04),1)
                        stortrigg=div(mult(MN(Div(hoppig01,4),12),c),1250)
                        lilltrigg=div(mult(10,c),1250)
                        stoppgränsa=div(mult(3,c),1250)


                        swing01=Gt(Sub(HHV(cmpref(H,1,a),3),LLV(cmpref(L,1,a),3)),glapp)
                        triggvinst=if(swing01,stortrigg,lilltrigg)

                        start=if(ge(d,LastTrade(s,d)),c,9999)
                        minhittills=Llv(start,2500)
                        högstav=Sub(lastsell,minhittills)
                        just=Sub(lastsell,c)

                        stoppgräns3=ADD(Div(Sub(högstav,triggvinst),2),stoppgränsa)
                        stoppgräns2=IF(GE(stoppgräns3,maxis),maxis,stoppgräns3)
                        stoppgräns1=IF(GE(stoppgräns2,stoppgränsa),stoppgräns2,stoppgränsa)

                        tillåt=And(ge(högstav,triggvinst),ge(just,triggvinst))
                        level1=Add(minhittills,stoppgräns1)
                        köpa=And(Ge(c,level1),tillåt)
                        ditt_köpscript=And(And(And(köpa,tid1),tid2),delay_ok)
                        köpsignal=And(ditt_köpscript,ok_att_handla)
                        Mult(köpsignal,25)
                        )


                        {@A(0,)}
                        Last edited by Bertil; 2017-03-25, 11:47. Anledning: Rättat scriptbugg

                        Comment


                        • Sedan behövs ett par TP script. Sälj med va) scriptet "Bertils allt innehav av aktuellt instrument"
                          -------------------------------

                          { Bertils dynamiska TP lång }
                          { 170324 }
                          innehav:=Portfolio(v)
                          ok_att_handla:=Gt(innehav,0)

                          glapp:=div(mult(30,c),1250)
                          maxis:=div(mult(12,c),1250)
                          tidspärr1:=10
                          tidspärr2:=10
                          lt1:=LastTrade(B,D)
                          lt2:=LastTrade(B,D)
                          Lastbuy:=LastTrade(B,P)
                          minSedanKöp:=Mult(Sub(Date(),lt1),1440)
                          minSedanTrans:=Mult(Sub(Date(),lt2),1440)
                          delay_ok:=gt(minSedanKöp,tidspärr1)
                          trans_ok:=gt(minSedanTrans,tidspärr2)


                          i1(
                          tid1=gt(int(mult(frac(d),1440)),570)
                          { före kl 09.11 }
                          tid2=lt(int(mult(frac(d),1440)),1035)
                          del01=Sub(Mx(cmpref(H,1,a),cmpref(H,0,a)),MN(cmpref(L,1,a),cmpref(L,0,a)))
                          del02=Sub(Mx(cmpref(H,2,a),cmpref(H,1,a)),MN(cmpref(L,2,a),cmpref(L,1,a)))
                          del03=Sub(Mx(cmpref(H,3,a),cmpref(H,2,a)),MN(cmpref(L,3,a),cmpref(L,2,a)))
                          del04=Sub(Mx(cmpref(H,4,a),cmpref(H,3,a)),MN(cmpref(L,4,a),cmpref(L,3,a)))
                          hoppig01=Div(MX(MX(MX(del01,del02),del03),del04),1)
                          stortrigg=div(mult(MN(Div(hoppig01,4),12),c),1250)
                          lilltrigg=div(mult(10,c),1250)
                          stoppgränsa=div(mult(3,c),1250)


                          swing01=Gt(Sub(HHV(cmpref(H,1,a),3),LLV(cmpref(L,1,a),3)),glapp)
                          triggvinst=if(swing01,stortrigg,lilltrigg)

                          start=if(ge(d,LastTrade(b,d)),c,0)
                          maxhittills=hhv(start,2500)
                          högstav=Sub(maxhittills,lastbuy)

                          stoppgräns3=ADD(Div(Sub(högstav,triggvinst),2),stoppgränsa)
                          stoppgräns2=IF(GE(stoppgräns3,maxis),maxis,stoppgräns3)
                          stoppgräns1=IF(GE(stoppgräns2,stoppgränsa),stoppgräns2,stoppgränsa)

                          tillåt=ge(högstav,triggvinst)
                          level1=Sub(maxhittills,stoppgräns1)
                          sälja=And(And(Le(c,level1),tillåt),Gt(Sub(c,lastbuy),13))

                          ditt_säljscript=And(And(And(sälja,tid1),tid2),delay_ok)
                          säljsignal=And(ditt_säljscript,ok_att_handla)

                          Mult(säljsignal,25)
                          )



                          {@A(0,)}
                          Last edited by Bertil; 2017-03-25, 11:46. Anledning: Rättat script

                          Comment


                          • { Bertils nolla kontot }
                            innehav:=Portfolio(v)
                            i1(
                            slutantal=Abs(innehav)
                            Add(slutantal,0)
                            )
                            ovanstående script är onödigt. Använd istället:
                            -----------------------------------------------------
                            { Bertils allt innehav av aktuellt instrument}

                            i1(
                            Abs(portfolio(v))
                            )
                            Last edited by Bertil; 2017-03-25, 10:26.

                            Comment


                            • Scripten ovan är rensade något från det jag kör skarpt så det kan finnas någon bugg. Det är meningen att man skall labba med scripten i Analysatorn och kanske lägga till några egna villkor.

                              Med vänlig hälsning
                              Bertil

                              Comment


                              • 09:12 ORDER "sl) Mitt SPI sälj vänd OMXS307D" kurs 1553.75 +10.25

                                Skarpt sedan 1/7: -66.45 punkter

                                mvh
                                Bertil

                                Comment

                                Working...
                                X