Allmänt meddelande

Collapse
No announcement yet.

Ordrar som inte går igenom

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

  • #16
    Ursprungligen postat av Henric Visa inlägg
    Jag tror inte om du hade fel i det jag påpekade. I vilket fall som helst borde detta fungera. Vad tror du?
    Vad menar du med ovanstående Henric? Jag förstår ingenting.
    Min fru som är van att korrläsa förstår ingenting hon heller.

    Ursprungligen postat av Henric Visa inlägg
    Det kanske är enklare att använda något liknande.
    Det fungerar inte med sekvenser utan måste ligga i en oberoende ordermodell eller som en egen ordermodell.

    Retval(0) sätts i slutet av varje sl) script som ingår.
    Jag antar att du menar Retval(date(),0)?

    Ursprungligen postat av Henric Visa inlägg
    noll1=eqv(lasttrade(b,d),lasttrade(b,0))
    noll2=or(eqv(lasttrade(s,d),lasttrade(s,0)),noll1)
    noll3=and(noll2,gt(mult(sub(date(),mx(lasttrade(b,d),lasttrade(s,d))),1440),3))
    Förmodar att lasttrade(b och s,d) får exakt samma tidsvärde som retval i triggerscripten (när orden skickas vill säga)?
    Jag "noll3" fungerar ju lika bra som min "nollorder", under förutsättning, som säjer, att retval() har skickat exakt samma tid som den som systemet har skickat till lasttrade(). Det känns lite osäkert om det så dock, och om det är den minsta lilla diff så falerar det hela. Hur har du tänkt dig att få ihop både "retval()" och "noll3"-ordern i slutet av scriptet?

    Ursprungligen postat av Henric Visa inlägg
    Sedan skicka en order med pris noll och alla utestående ordrar makuleras. Jag tror att både köp- och säljordrar makuleras?
    Ja, det får vi hoppas. Blir det samma sak tror du om man skickar en order med noll i antal men med ett pris?

    Ursprungligen postat av Henric Visa inlägg
    Först är det nog bäst att lägga på lite vid tex andra eller tredje försöket. Då blir det förmodligen avslut och detta är en sista säkerhetsåtgärd.
    Andra eller tredje försöket? Ska du logga hur många ordrar som skickas, eller hur tänker du nu?

    Ursprungligen postat av Henric Visa inlägg
    Tillägg:
    Vad händer vid delavslut. Det kanske är bäst att alltid panga i väg en nollorder tex 4 minuter efter senaste icke nollorder eller lägga på så mycket vid flera
    försök att det med största sannolikhet blir avslut.
    Det var ju en riktigt bra ide, att alltid skicka en nollorder efter 4 min. Alternativt skulle man kanske kunna göra en koll mot portfolio() för att se om man är fylld?
    .

    Comment


    • #17
      Jag har funderat ytterligare på det som Henric skrev om delorder.

      Man kanske, helt enkelt, ska ta och förenkla hela problemlösningen lite och alltid, i alla modeller, som en ren säkerhetsåtgärd, skicka ut en nollorder i marknaden efter 4 min, no matter what? Problem solved, och dessutom behövs inte retval()?

      Vad säger panelen om det? Rikard, Henric, någon annan?
      -
      Last edited by LillWicke; 2012-09-09, 10:18.

      Comment


      • #18
        Det var så jag tänkte. Lokalt med egna modeller går det alltid att hålla koll på målantalet. Modellen kan själv justera antalet i de ovanliga fall en order bir hängande och sedan leder till avslut(eller kör med snåla kurser i prisscripten). Det är svårare då en "duration" används för signaler. Ett annat sätt är att alltid efter uppfyllt "delayvillkor" skicka en noll order och är inte målantet uppfyllt skicka en ny order efter 5 sekunder.

        LillWicke: Jag ber om ursäkt för att skriva lite snabbt i bland utan att läsa igenom.

        Comment


        • #19
          Jag känner mig lite förvirrad nu Henric.
          Vilket inlägg svarade du på #16 eller #17?
          Last edited by LillWicke; 2012-09-09, 12:22.

          Comment


          • #20
            Jag drar iväg ett script som ett tydliggörande av inlägg #17 så får vi se vad svaren blir.
            Nedanstående "tar allt" och bör även fungera för modeller med flera sekvenser om "nollorder" läggs till i varje sekvens.

            Det här med timelock, innehav, och orderdelay finns ju redan som standard i de flesta script, så det nya är ju egentligen bara raden med "nollorder" och SetGvarIf(). Jag väljer här i alla fall att skriva ut ovanstående komplett för översiktens skull.


            { sl) triggerscript köp }

            timelock:=1
            innehav_ok:=eqv(portfolio(v),0)

            lt1:=LastTrade(B,D)
            lt2:=LastTrade(S,D)
            minSedanKöp1:=mult(sub(date(),lt1),1440)
            minSedanSälj1:=mult(sub(date(),lt2),1440)
            min_sedan_trans:=mn(minSedanKöp1,minSedanSälj1)

            i30(
            orderdelay_ok=gt(min_sedan_trans,timelock)
            nollorder=eqv(min_sedan_trans,4)
            SetGvarIf(nollorder,600,1)
            .
            .
            .
            buy5=and(and(.....,orderdelay_ok),innehav_ok)
            buy6=or(buy5,nollorder)
            mult(buy6,10)
            )


            Så här ser mitt prisscript ut idag för terminen.

            { vl) prisscript oginal }
            i1(roundprice(Add(S,0.25)))

            Prisscriptet modifierat

            { vl) prisscript modifierat }
            i1(
            nollorder=GetGvar(600,N)
            if(nollorder,0,roundprice(Add(S,0.25)))
            )
            Last edited by LillWicke; 2012-09-09, 13:03.

            Comment

            Working...
            X