Allmänt meddelande

Collapse
No announcement yet.

Handla: köp-sälj INTE köp-köp-sälj etc

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

  • Handla: köp-sälj INTE köp-köp-sälj etc

    Hej

    Jag sitter som sagt (se ämnet innan) och knåpar. Jag har ett köp- och ett säljtriggerscript, i dessa har jag en kodsnutt som genererar 1 för köp respektive sälj. I volymscripten har jag endast skrivit "10" dvs antalet som ska köpas respektive säljas.

    Problemet är, när jag kör en vinsttest, att det verkar som att den kan köpa/sälja flera gånger i rad, typ köper,köper,köper,köper,säljer,säljer,köper. Och det är ju så det blir enligt scriptet, alltså egentligen inte fel. Problemet är att man ju inte kan handla på det viset. Vid köpsignal ska man köpa om man ligger likvid eller ligger i blankning, och vice versa vid en säljsignal. Dvs positionen ska vändas när det kommer en ny typ av signal. Ni förstår nog vad jag menar...

    Hur har ni löst detta? Är det enklast att skriva något slags villkor i köp/säljtriggerscripten?

  • #2
    Grundalternativet för strategi är bara innehav-cash dvs köp-sälj.

    Första köp matchas med första sälj och blir vad som kallas affär dvs ett besök i marknaden men två transaktioner.

    Sedan extra köpsignaler emellan då man redan ligger i marknaden hoppas över och kallas falska köp.

    Sedan extra sälj innan nästa köp, kallas falska säljsignaler.

    Du behöver inte mecka med volymscript alls egentligen. Det är bara om du föredrar upplägget med ett belopp som förändras istället för procentuellt avkastning.

    Så enklaste varianten är att strunta i antalscript helt.

    Comment


    • #3
      Kanske detta du söker, målantal kan ändras till vad du vill.

      va) Vänd köp ( Sälj )

      innehav:=portfolio(v)
      målantal:=-2
      undermål:=LT(innehav,målantal)
      antal:=if(undermål,0,SUB(målantal,innehav))
      i1(ABS(antal))


      va) Vänd sälj ( Köp )

      innehav:=portfolio(v)
      målantal:=2
      övermål:=GT(innehav,målantal)
      antal:=if(övermål,0,SUB(målantal,innehav))
      i1(antal)

      Comment


      • #4
        ja, verkar funka!

        Tack!

        Comment


        • #5
          När man kör en enda ordermodell med flera sekvenser, så spelar inte extra köpsignaler och säljsignaler någon roll egentligen.

          Aktiv ordersekvens flyttas ju i en modell.

          T.ex om det är en köpsekvens och en säljsekvens, så när köpsignalen verkställts, så står man på säljscriptet som körs, så att ev. extra köpsignaler ageras inte på, såvida man inte bygger in speciell logik för detta.


          Dock köra man flera ordermodeller, t.ex en modell med en sekvens för köp, och en annan modell för sälj, och dessa ansluts parallellt(samtidigt), så körs både triggerscripten i dessa två, och då krävs logik som alis script ovan för att strypa orderläggning när man är på target.

          Comment


          • #6
            Det här kan du använda om du bara vill gå ur.

            va) Stäng blankposition

            innehav:=portfolio(v)
            målantal:=0
            övermål:=GT(innehav,målantal)
            antal:=if(övermål,0,SUB(målantal,innehav))
            i1(antal)

            va) Stäng position

            innehav:=portfolio(v)
            målantal:=0
            undermål:=LT(innehav,målantal)
            antal:=if(undermål,0,SUB(målantal,innehav))
            i1(ABS(antal))

            Comment

            Working...
            X