Allmänt meddelande

Collapse
No announcement yet.

Fråga ang standardmodellen target / stopp

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

  • Fråga ang standardmodellen target / stopp

    Hej,

    Kan man någonstans skriva in att ordermodellen som nämns i rubriken säljer x-antal papper vid önskat target.
    Standard är ju som bekant att hela innehavet säljs vid önskat target men om man istället vill sälja tex 50%.

  • #2
    Jag känner till att detta går att köra med stopp loss mini lång tex

    Comment


    • #3
      Först ett allmänt tips. Modifiera inte en standardmodell för om du senare uppdaterar den försvinner dina tidigare ändringar.

      Kopiera först sl) scriptet och ge det ett eget namn tex

      Min Stoplossmini1
      Kopiera sedan ordermodellen Stoplossmini och ge den tex namnet Min Stopplossmini1 samt anslut sl) scriptet Min Stoplossmini1

      Nu kan du labba med ordermodellen och scriptet utan att vara rädd för att skriva sönder originalet.

      I ordermodellen hör ju ett antalsscript som anger vad som skall säljas.
      I antalsscriptet som tillhör original Stoplossmini står
      va) Stoploss Mini säljantal

      målantal:=ScrPar(2)
      innehav:=Portfolio(v)

      i1(
      köp_finns=gt(lasttrade(b,d),0)
      tidpunkt=if(köp_finns,lasttrade(b,d),lasttrade(s,d))
      skapa_trade=eqv(tidpunkt,0)
      övermål=Ge(målantal,innehav)
      slutantal1=Abs(If(övermål,0,Sub(innehav,målantal)))
      slutantal2=if(skapa_trade,-1,slutantal1)
      genomgång=Not(Eqv(slutantal2,0))
      Add(slutantal2,0)
      )


      De flesta rader är säkerhetsrader, det scriptet gör är egentligen bara att sälja av innehavet.

      Vill du bara sälja halva innehavet kan du skriva
      innehav:=Int(Div(Portfolio(v),2))

      dvs du tar det ursprungliga innehavet, delar med två och tar sedan heltalsdelen av detta då man inte kan handla med decimalantal.

      Tips nummer två. Jag har skrivit script till NAT sedan 2012 och ännu aldrig delat upp försäljningen i flera delar.

      Problemet är att efter 5 sekunder kommer ditt triggerscript att trigga igen och sälja av hälften av innehavet som finns kvar. För att förhindra detta bör du först använda ett xk)script
      Delay order

      tidspärr:=1
      lt1:=LastTrade(B,D)
      lt2:=LastTrade(S,D)
      i1(
      minSedanKöp=Mult(Sub(Date(),lt1),1440)
      minSedanSälj=Mult(Sub(Date(),lt2),1440)
      And(Gt(minSedanKöp,tidspärr),Gt(minSedanSälj,tidspärr))
      )


      Delay order kollar att både sälj och köp skett längre tid än 1 minut tillbaka.

      Det normala är sedan att det finns en kontroll i ditt säljtriggerscript som för att trigga först förvissar sig om att det finns ett innehav.
      Då man säljer hela innehavet så blir ju innehavet 0 och säljtriggerscriptet aktiveras inte.
      Om du bara säljer halva innehavet så vet ju säljtriggerscriptet inte det utan vill sälja igen. Då kan man lägga in en tidsspärr på ett antal minuter som blockerar säljscriptet att agera igen.

      Det kanske inte räcker med en tidsspärr utan du får börja använda globala variabler för att hindra säljscriptet från att agera då du inte önskar att det skall agera igen innan diverse andra villkor är uppfyllda.

      En annan nackdel med att sälja av halva innehavet är att vid nästa gång du vill att sälj skall aktiveras så kommer den att sälja av halva innehavet igen dvs
      vid första sälj såldes 1/2 det ursprungliga innehavet och vid nästa sälj så såldes 1/4 av det ursprungliga innehavet.
      Dvs detta blev inget bra. Istället måste du hantera globala variabler som håller reda på hur mycket det ursprungliga innehavet var.

      Det hela blir snabbt trixigt samt lätt fel.

      Mitt råd är alltså att inte lägga tid på att köpa och sälja av innehavet i delar, det är överkurs.
      Det viktiga är att koncentrera sig på att ta fram fungerande triggerscript för köp.

      mvh
      Bertil
      Last edited by Bertil; 2018-10-30, 19:46.

      Comment


      • #4
        Tack för svar, Bertil! Detta är tänkt att endast användas till min manuella handel

        Comment


        • #5
          Ursprungligen postat av Bdire Visa inlägg
          Tack för svar, Bertil! Detta är tänkt att endast användas till min manuella handel
          OK. Manuellt. I Stoploss minis antalscript står
          målantal:=ScrPar(2) detta är värdet som man skrivit in i rad1, kolumn2 i basuppgifter som hör till instrumentet som du handlar.
          Då kan du i detta fält skriva in det antal som du önskar att sälja.
          Antalscriptet utan kontrollfunktioner blir då

          målantal:=ScrPar(2)
          i1(
          Add(målantal,0)
          )


          Sedan får du bara spärra säljtriggerscriptet på tex tid så att det inte säljer igen snart.

          mvh
          Bertil

          Comment

          Working...
          X