Allmänt meddelande

Collapse
No announcement yet.

Exakt samma antal trades trots olika insatsbelopp..?

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

  • #16
    Tja, det var ju inte så lätt det här...

    Jag har nu skrivit om insatsscriptet så att jag "äger" det själv och tycker att jag har lagt in en spärr för att tillgänglig kassa inte ska kunna bli negativ - men ser att den blir det ändå i den extra scriptkolumnen (tack Bertil!) - med ganska svettiga belopp dessutom...

    Varför fungerar inte detta script?

    insatsprocent=getgvar(725)
    depåvärde=add(cash(t),cash(a))
    insatsbelopp=mult(depåvärde,insatsprocent)
    gränsvärde=gt(cash(t),add(insatsbelopp,5000))
    köpantal=Int(Div(insatsbelopp,s))
    if(gt(insatsbelopp,gränsvärde),köpantal,0)
    Last edited by JohanB; 2018-02-11, 09:47.

    Comment


    • #17
      Cash(A) är ju: A=Alla positioner, totalt marknadsvärde dvs hela depåvärdet inklusive värdet av alla ägda värdepapper. Det kan du ju inte handla för!

      Använd istället:
      depåvärde=add(cash(n),0)

      Cash(N): N=Normal - depåsaldo inkl tillgänglig kredit

      mvh
      Bertil

      Comment


      • #18
        OK, jag ska testa, men jag förstår ändå inte varför mitt script blir negativt:

        Jag summerar ju (tror jag iaf ;-)) marknadsvärdet av de öppna positionerna och tillgänglig kassa.
        Det blir ett aktuellt depåvärde som jag multiplicerar med insatsprocenten för att få fram insatsbeloppet.
        Insatsbeloppet måste vara större än gränsvärdet och om svaret är ja dividerar jag insatsbeloppet med säljkursen för att få fram köpantalet.
        Var finns den logiska tankevurpan här?

        Comment


        • #19
          add(cash(A),cash(t)) och gt(cash(t),xxx) fungerar bra simulatorn. Sedan kan man tex styra hävstången hur mycket negativ cash(t) får vara(det är iof en annan sak). Problemet ligger i att begränsingen måste göras i signalscriptet.

          Comment


          • #20
            Tankevurpan: Antag att du ligger fullinvesterad till 100% med 0 kronor i kassan. Du adderar värdet av dina värdepapper med 0 kronor och tar insatsprocenten av detta. Säg att värdepappren är värda 100000 och insatsprocenten är 25%. Då kommer du att lägga en köporder på 25000 trots att kassan är tom.

            mvh
            Bertil

            Comment


            • #21
              tack, men hur skriver man en sån begränsning om man vill att cash(t) alltid ska vara >0?

              Comment


              • #22
                Ursprungligen postat av Bertil Visa inlägg
                Tankevurpan: Antag att du ligger fullinvesterad till 100% med 0 kronor i kassan. Du adderar värdet av dina värdepapper med 0 kronor och tar insatsprocenten av detta. Säg att värdepappren är värda 100000 och insatsprocenten är 25%. Då kommer du att lägga en köporder på 25000 trots att kassan är tom.

                mvh
                Bertil
                Jag håller inte med därför att jag också har med att tillgänlig kassa måste vara större än insatsbeloppet...eller?

                gränsvärde=gt(cash(t),add(insatsbelopp,5000))
                köpantal=Int(Div(insatsbelopp,s))
                if(gt(insatsbelopp,gränsvärde),köpantal,0)

                Comment


                • #23
                  Ursprungligen postat av Henric Visa inlägg
                  add(cash(A),cash(t)) och gt(cash(t),xxx) fungerar bra simulatorn. Sedan kan man tex styra hävstången hur mycket negativ cash(t) får vara(det är iof en annan sak). Problemet ligger i att begränsingen måste göras i signalscriptet.
                  Henric: Varför adderar du Cash(A) med Cash(T) ? Cash(T) ingår ju redan i värdet av Cash(A).

                  mvh
                  Bertil

                  Comment


                  • #24
                    Ursprungligen postat av Bertil Visa inlägg
                    Henric: Varför adderar du Cash(A) med Cash(T) ? Cash(T) ingår ju redan i värdet av Cash(A).

                    mvh
                    Bertil
                    Cash(a) är väl öppna positioner och cash(t) kvarvarande tillgängligt kapital?
                    De två tillsammans utgör ju då depå värdet exklusive kredit som jag har tolkat det?
                    Last edited by JohanB; 2018-02-11, 10:22.

                    Comment


                    • #25
                      Felet ligger här:

                      if(gt(insatsbelopp,gränsvärde),köpantal,0)

                      Gränsvärdet är ingen siffra utan det logiska värdet ett eller noll och if-satsen kommer alltid att bli sann.

                      Du kan skriva
                      if(gränsvärde,köpantal,0)

                      Men då blir det digitalt, antingen når kassan upp till önskad insatsprocent eller inte. Dvs du kommer inte att handla för hela kassan.

                      mvh
                      Bertil

                      Comment


                      • #26
                        Ursprungligen postat av JohanB Visa inlägg
                        Cash(a) är väl öppna positioner och cash(t) kvarvarande tillgängligt kapital?
                        De två tillsammans utgör ju då depå värdet exklusive kredit som jag har tolkat det?
                        Det är möjligt att du har rätt. I förklaringen står endast.
                        A=Alla positioner, totalt marknadsvärde

                        Jag trodde att kassan ingick i det totala marknadsvärdet, annars är det ju inte totalt. Rikard får förklara vilket som är rätt och förtydliga i texten.

                        mvh
                        Bertil

                        Comment


                        • #27
                          Ursprungligen postat av Bertil Visa inlägg
                          Felet ligger här:

                          if(gt(insatsbelopp,gränsvärde),köpantal,0)

                          Gränsvärdet är ingen siffra utan det logiska värdet ett eller noll och if-satsen kommer alltid att bli sann.

                          Du kan skriva
                          if(gränsvärde,köpantal,0)

                          Men då blir det digitalt, antingen når kassan upp till önskad insatsprocent eller inte. Dvs du kommer inte att handla för hela kassan.

                          mvh
                          Bertil

                          Här hänger jag inte med alls:

                          Du skriver att "Gränsvärdet är ingen siffra utan det logiska värdet ett eller noll", men jag definierar ju gränsvärdet som "gränsvärde=add(insatsbelopp,5000)" och i if-satsen säger jag ju att om insatsbeloppet är större än gränsvärdet så ska jag använda köpantal, annars gäller värdet 0.

                          Jag trodde inte att if-satser i AT-script var logiska operander som bara gav sant eller falskt i retur?

                          EDIT: men visst, jag åker ju ner på negativ kassa...

                          Comment


                          • #28
                            Ursprungligen postat av Henric Visa inlägg
                            add(cash(A),cash(t)) och gt(cash(t),xxx) fungerar bra simulatorn. Sedan kan man tex styra hävstången hur mycket negativ cash(t) får vara(det är iof en annan sak). Problemet ligger i att begränsingen måste göras i signalscriptet.
                            tack, men hur skriver man en sån begränsning om man vill att cash(t) alltid ska vara >0?

                            Comment


                            • #29
                              Så här är ju din kod:

                              gränsvärde=gt(cash(t),add(insatsbelopp,5000))
                              köpantal=Int(Div(insatsbelopp,s))
                              if(gt(insatsbelopp,gränsvärde),köpantal,0)

                              Alltså är gränsvärde antingen 1 eller 0.

                              mvh
                              Bertil
                              Last edited by Bertil; 2018-02-11, 10:42.

                              Comment


                              • #30
                                Ursprungligen postat av Bertil Visa inlägg
                                Så här är ju din kod:

                                gränsvärde=gt(cash(t),add(insatsbelopp,5000))
                                köpantal=Int(Div(insatsbelopp,s))
                                if(gt(insatsbelopp,gränsvärde),köpantal,0)

                                Alltså är gränsvärdet antingen 1 eller 0.

                                mvh
                                Bertil

                                Stämmer, jag såg det faktiskt själv för en stund sedan. Det var ju fleskrivet, gränsvärdet ska ju vara ett belopp så jag skrev om raderna så här:

                                gränsvärde=add(insatsbelopp,5000)
                                köpantal=Int(Div(insatsbelopp,s))
                                if(gt(insatsbelopp,gränsvärde),köpantal,0)

                                ...men det hjälpte inte, fortfarande negativ kassa.

                                Comment

                                Working...
                                X