Allmänt meddelande

Collapse
No announcement yet.

Får inte rätt på backtestingen, scripfel?

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

  • Får inte rätt på backtestingen, scripfel?

    Hej!

    Har fortfarande problem med backtestingen och har nu gjort en väldigt enkel testmodell:

    Har gjort en enkel modell enligt följande. Köp på Key Reversal, sälj 5 dagar senare, allt på stängningskursen. Men, när jag tittar på affärerna som genererats verkar det som ingen av transaktioner gått på dagens stängningskurs.

    Här är de skript jag använt:

    KÖP:
    högre_close=gt(c,aref(h,1))
    lägre_low=lt(l,aref(l,1))
    ned_villk=lt(roc(mov(c,5,s),5,%),0)
    trigger_sign=and(and(högre_close,lägre_low),ned_villk)

    SÄLJ:
    limit_dagar:=5
    buy_day:=int(lasttrade(b,d))
    today:=int(d)
    days:=sub(today,buy_day)
    signal=ge(days,limit_dagar)
    Mult(signal,10)


    PRISSKRIPT till båda köp och sälj, dvs ett vl)-skript (Close-kursen dag):
    mult(1,C)


    Vad gör jag för fel?

  • #2
    Köpscriptet har inget slututtryck som kan bli sant:

    Ändra till:

    högre_close=gt(c,aref(h,1))
    lägre_low=lt(l,aref(l,1))
    ned_villk=lt(roc(mov(c,5,s),5,%),0)
    trigger_sign=and(and(högre_close,lägre_low),ned_villk)
    mult(trigger_sign,10)


    Borde fungera nu.

    Comment


    • #3
      Hmm, tror du kanske missförstod mig.

      Jag fick samma signaler innan också, även om det kanske inte borde funkat. Men problemet är att jag vill testa hur resultatet blir om jag gör ett köp i stängningscallen, dvs dagens stängningskurs. Men när jag kör ordermodellen och sedan tittar i graferna ser det ut som affärerna har skett lite när som helst under dagen, dvs inte till dagstapelns stängningskurs.

      Har haft ungefär detta problem hela tiden när jag backtestat, dvs att affärerna inte ligger där de borde ligga i staplarna.

      Comment


      • #4
        Dagskurser har bara ett värde i efterhand. Under handelsdagen uppdateras värdena kontinuerligt och därför måste du ha ett tidsvillkor om du bara vill handla vid speciella tillfällen.

        Comment


        • #5
          Hmmm, ok. Alltså det jag vill göra är att handla på closekursen i dagsstapeln. Måste man definiera den exakta tidpunkten detta ska ske för att de ska funka?

          Comment


          • #6
            Inte retroaktivt, men under en handelsdagen. Tex är Close senaste intradag Close fram till stängning då värdet fastställs. Vid simulering har det ingen betydelse förutom innevarande dag.

            Comment


            • #7
              Tjena, Jag brukar ha dessa villkor i mina exitscript för att sälja i slutet av dagen


              { Ange antal minuter innan stängning du vill att scriptet ska slå till }
              Minuter:=6
              Stängning:=le(mult(1440,sub(market(c),frac(date()))),Minuter)

              { Villkor för att sälja efter 7 hela dagar (5 hela börsdagar) }
              Köpdag:=int(lasttrade(b,d))
              Idag:=int(date())
              Dag5:=ge(sub(Idag,Köpdag),7)




              Ursprungligen postat av logiken Visa inlägg
              Hmmm, ok. Alltså det jag vill göra är att handla på closekursen i dagsstapeln. Måste man definiera den exakta tidpunkten detta ska ske för att de ska funka?

              Comment


              • #8
                Henric: Ah ok, då förstår jag bättre, tack. =)

                PerG: Ja, så borde jag ju göra också. Tack! =)

                Comment

                Working...
                X