Allmänt meddelande

Collapse
No announcement yet.

Blocka exit-script från att sälja papper som köpts manuellt i nordnets gränssnitt

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

  • Blocka exit-script från att sälja papper som köpts manuellt i nordnets gränssnitt

    Jag blandar manuell handel med ordrar i nordnets gränssnitt, med scriptade entry och exit-strategier i samma papper.

    Det har inte varit något problem tidigare då jag haft följande villkor för att säkerställa att "rätt" strategi gjort traden innan exiten görs och bara handlat automatiserat.

    Dock fallerar denna logik när man handlar i webbgränssnittet och syltar i samma papper som vissa strategier kör.
    Hur kan man bättra på detta villkor så att den exkluderar innehav som köpts utanför NAT?

    Kod:
    [B]{ har vi köpt den med strategi nr (4),  }
    [/B]signal6=and(EQV(lasttrade(b,0),4),signal5)

  • #2
    Problemet som uppstår vid manuella orders är att T-transaktionen bokförs utan värden för celllerna 0-4. Det blir noll. Så om du lägger till ett OR-villkor som även testar för värde=0 kommer raden bli sann även för manuella order:

    signal6=and(or(eqv(lasttrade(b,0),4),eqv(lasttrade(b,0),0)),signal5)


    Raden blir fortfarande "immun" mot alla andra koder, tex om en annan strategi köpt aktien och skrivit in tex kod = 3. Samtidigt får man tänka på att alla strategier som även kommer känna igen kod=0 kommer att kunna sälja positionen. Men det kanske var tanken med "syltningen"?

    Comment


    • #3
      Syftet är att få scriptet att inte sälja om ordern har lagts manuellt.

      Ex, som i detta fall i LUPE, då strategin först försökt köpa vid close den 15 aug med limit-order utan att bli fylld, och sedan så lägger jag en manuell köporder via Nordnets gränssnitt den 20 aug.

      Exit-scriptet ser då ingen rad med värdet S i kolumn T, och värde 0, i cell1 utan tittar på ett gammalt köpförsök från den 15 aug.

      Vad jag kan se kommer det inte in någon rad förutom Traden när man handlar i webbgränssnittet och syltar, och således fallerar logiken att kolla med eqv(lasttrade(b,0),4


      Finns det något annat sätt att kolla att en order lagts via webbgränssnittet? (kan även ibland vara långtidsordrar)
      Attached Files

      Comment


      • #4
        Aha, nu fattar jag! Hm, inte lätt att lösa, Lasttrade(b,0) fungerar så att den går tillbaka till senaste entry där ett värde hittas from senaste S-order. Detta för att undvika att "tappa" värdet vid tex delavslut. Så ur den synpunkten ses en webborder som ett delavslut. Det skulle i så fall vara att kolla tidsstämplarna, spara dessa i cell och jämför med den faktiska tidstämpeln direkt från Lasttrade(b,D)

        Om det diffar mer än säg 2 minuter så antas det vara en webborder eller liknande.

        Comment


        • #5
          Inte helt med på hur du menar. Vilken händelse skall det bara skilja 2 min mellan Lasttrade(b,D)?

          Det kan ju diffa flera dagar när man swingtradar från föregående BUY till Exit.

          Comment


          • #6
            Lasttrade(b,d) ska skilja från lasttrade(b,4)

            2 minuter blir:

            tidsdiff=div(2,144)
            manuell=gt(lasttrade(b,d),add(lasttrade(b,4),tidsdiff))


            Något i stil med det.

            Comment

            Working...
            X