Allmänt meddelande

Collapse
No announcement yet.

Hjälp med att debugga strategi från Building Winning Algorithmic Trading Systems

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

  • Hjälp med att debugga strategi från Building Winning Algorithmic Trading Systems

    Som min första modell så försöker jag implementera Euro Night Strategy från boken Building Winning Algorithmic Trading Systems. Strategin finns förklarad här i TradeStation EasyLanguage.
    Euro Night Strategy

    Koden jag har än så länge är köp och sälj long enligt nedan:

    KÖP
    Kod:
    nback:=10
    atrrmult:=3
    natr:=60
    
    i105(
    omxs30=cmpref(h,1,a)
    ma1=mov(omxs30,nback,s)
    reducingfactor=mult(atrrmult,atrex(natr, a))
    longprice=sub(ma1,reducingfactor)
    draw(longprice,3,dgqb)
    köpläge=le(c,longprice)
    ej_innehav=le(portfolio(v),0)
    klocka=frac(d){ska vara date()}
    latest_kl1720=lt(klocka,0.722)
    signal=and(latest_kl1720,and(köpläge,ej_innehav))
    mult(signal,5)
    )
    
    {@A(105,OMX Stock )}
    SÄLJ
    Kod:
    tr_mult:=0.5
    
    i105(
    omxs30c=cmpref(c,1,a)
    omxs30h=cmpref(h,1,a)
    omxs30l=cmpref(l,1,a)
    tr1=sub(omxs30h,omxs30l)
    tr2=sub(omxs30h,aref(omxs30c,1))
    tr3=sub(aref(omxs30c,1),omxs30l)
    max1=if(ge(tr1,tr2),tr1,tr2)
    true_range=if(ge(tr3,max1),tr3,max1)
    innehav=gt(portfolio(v),0)
    entry_price=portfolio(p)
    long_target=add(entry_price,mult(tr_mult,true_range))
    draw(long_target,2,rqb)
    signal1=ge(omxs30c,long_target)
    signal2=and(signal1,innehav)
    mult(signal2,5)
    )
    
    {@A(105,OMX Stock )}
    Dock går det inte jättebra av följande anledningar. Säljsidan beror på betalt pris vilket gör nivån omöjlig att plotta i en graf utanför simuleringen?
    När jag försöker simulera dessa båda script i analysbänken för datumen
    2017-10-24 tom 2018-09-21 på OMXS30 får jag 210 skapade signaler men dessa är clustrade till ca 5 tillfällen, alltså verkar det ske väldigt många affärer snabbt.

    Tacksam för alla tipps jag kan få på hur man effektivare debuggar och testar fram så att strategier blir rätt samt hjälp med hur jag kan göra koden bättre.

  • #2
    Går scripten igenom syntaxkontrollen?
    på raden: reducingfactor=mult(atrrmult,atrex(natr, a))
    finns ett mellanslag mellan , a
    Du har en parameter som heter atrrmult men det finns en funktion som heter atr vilket inte är helt lyckat.

    mvh
    Bertil

    Comment


    • #3
      Har ändrat de saker du nämner men dock utan någon inverkan på resultatet.

      Comment


      • #4
        Hur kommer det sig att du kör med 105 minutersstaplar?
        Finns det en tanke bakom det?

        Mvh
        Bertil
        Last edited by Bertil; 2018-10-04, 08:59.

        Comment


        • #5
          Just nu vill jag bara testa att replikera bokens exempel. Han änvänder 105minuter dock säger han inte varför tyvärr.

          Comment


          • #6
            Det kan kanske vara något med amerikanska öppettider?

            Vilket(a) instrument ska modellen handla(tänker främst på att du använder extraobjekt)?
            Det finns bara take-profit. Vad händer om den hamnar i förlust inte kommer tillbaka. Verkar väl riskabelt.
            Det kanske förklarar varför affärerna kommer i kluster.
            Last edited by Henric; 2018-10-04, 09:44.

            Comment


            • #7
              Strategin i boken är för EURUSD för kvälls handeln, kanske detta förklarar 105 min staplarna?

              Absolut detta är inte hela ordermodellen. Jag ville bara ha någon strategi för att komma igång att scripta i autostock och tyckte denna var väl dokumenterad för att prova på att koda. I boken finns 3 exit, 1 take profit samt stop sälj senast vid dagens slut och och fixed summa stop loss. Dock när jag simulerar nu kan jag bara välja ett sälj script och ett köp script eftersom jag inte kör med en ordermodell i simuleringen utan bara trigger script atm.

              Jag har extra object då det var så jag förstod att man skulle göra när man handlar index. Man bygger modellen mot index och sedan via ETP Link handlar någon MiniFuture?

              Jag tänkte köra OMX samt DAX i simuleringarna (liten nyfyken nybörjarfråga, hur kommer det sig att så mycket här på autostock kretsar kring index handel? Varför att inte tex guld/olja eller valutapar så diskuterat som OMXS och DAX? Min tanke är tillgång till historisk data i autostock samt den låga spreaden på index men finns det andra anldningar?)

              Comment


              • #8
                Det finns inget som hindrar att du kör flera köp- och säljmodeller på samma instrument. Vet att du bara testar.

                Handlar du direkt så förstår jag extraobjektet. Jag gör liknande. Kör du etp-link används ett fiktivt konto och underliggande går att handa direkt utan extraobjekt.

                Tillgång till data och instrument att handla påverkar nog vilka tillg. som handlas. Även spread, mm. Så vitt jag vet finns det inga valutapar utan courtage.

                Comment

                Working...
                X