Allmänt meddelande

Collapse
No announcement yet.

Nybörjarordermodell

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

  • Nybörjarordermodell

    Hejhej!

    Har suttit och pelat med NAT ett par dagar nu, men får inte rätt på särskilt mycket tycker jag. Provade på att göra ett skript med lite olika villkor men det slutade med att jag inte fick några signaler, strippade ner det mer och mer och till slut hade jag inget kvar. Så nu har jag kommit fram till den här enkla lilla modellen eftersom den måste ju kunna ge signal intradag med tre månader data:

    i5(
    stapel1=lt(ref(c,1),ref(c,2)) {close stapel1 mindre än stapel2}
    stapel2=gt(c,ref(c,1)) {close stapel0 större än stapel1}
    )
    AND(stapel1,stapel2)

    Med detta har jag fått analysbänken att signalera en jäkla massa signaler när jag bara ansluter scriptet, men när jag ska stoppa in det i en ordermodell signalerar det inte alls. Och jag tycker vad jag än ändrar lyckas jag inte få den till att signalera så något tips där hade varit väldigt välkommet.

    Sen undrar jag också vad det där kanelbulleutrycket gör som jag sett i vissa script här på forumet: {@A(0,)}

    Tack på förhand!

  • #2
    AND(stapel1,stapel2) ska ligga sist i scriptet innanför sista parantesen.

    Jag brukar anävnda aref(c,1) istället för ref(c,1). Vet dock inte exakt när man
    inte kan använda ref.

    Kanelbullen ska däremot ligga sist i scriptet utanför sista parantesen.
    Det kallas extraobjekt och hämtar data i vald tidsupplösning från annat eller samma instrument. Du kör tex i5, men vill även använda dagsstaplar.
    Last edited by Henric; 2013-01-30, 21:16. Anledning: Typo

    Comment


    • #3
      Först måste du ha and-villkoret innanför intradayparentesen. Därefter är det bra att kunna styra signalstapels storlek.
      Ändra alltså till:

      i5(
      stapel1=lt(ref(c,1),ref(c,2)) {close stapel1 mindre än stapel2}
      stapel2=gt(c,ref(c,1)) {close stapel0 större än stapel1}
      signal=AND(stapel1,stapel2)
      mult(signal,15)
      )

      Kanelbulleuttrycket samarbetar med funktionen compref() och betyder att man hämtar något från ett annat instrument än det man analyserar. Skriver man {@A(0,ERIC B)} hämtar man något från Ericsson, 0:an i uttrycket betyder dagsupplösning och A betyder vilket uttryck man refererar till. Skriver man {@A(0,)} hämtar man något i dagsupplösning från samma instrument som scriptet är kopplat till.

      Exemplet nedan hämtar förra dagens stängningsskurser för Ericsson samt OMX, förutsatt att scriptet är kopplat till omx.

      i5(
      open_omx=compref(c,1,a)
      open_eric=compref(c,1,b)
      .
      .
      )

      {@A(0,)@B(0,ERIC B )}


      EDIT: ref() går bara att använda till paramedrarna c, h, l osv, medan aref() kan användas till alla uttryck som har en dataserie som returvärde.

      Last edited by LillWicke; 2013-01-31, 17:20.

      Comment


      • #4
        Ok, tack för hjälpen, det blev lite klarare nu hur man gör ett script som signalerar i grafen.

        Dock så lyckas jag fortfarande inte stoppa in det i en ordermodell och få det att signalera i analysbänken. Någon som har några tips om det? Så här har jag gjort:

        1. Skapar ett analysprojekt: Test
        2. Väljer en fiktiv depå med 100000kr
        3. Alternativ: Flera paralella singelsekvens ordermodeller...
        4. Köpsida: Har en ordermodell som jag döpt till Testmodell:
        4a. En sekvens som heter Köpsekvens, st) stega till sekvens 1, Autoorder
        4a1. I denna har jag lagt stapeltestskriptet enl tidigare inlägg. Ordertypen är Köp, Antal: va) Maxantal enligt vad kassan tillåter, Limit: Aktuelly säljkurs. Stega: Stega till sekvens1.
        5. Säljsida: Stäng köp innan stängning.
        6. Strategi: Styrs helt av valda modeller,
        7. Start 1 okt 2012, stopp 25e jan 2013.
        8. Analysen tillämpas på en aktie t ex SKF B.

        Och detta är vad jag får ut:

        Analys klar!
        100.000%
        Arbetad tid: 172ms
        40531 gjorda perioder
        0 skapade signaler
        Tid:20130131 20:59:58
        Analyzern ej längre aktiv på detta jobbet

        Dvs inga signaler skapas, vilket är märkligt då den ska signalera så fort det kommer en grön stapel efter 2 röda vilken är rätt vanligt förekommande.

        Någon som vet vad felet kan tänkas vara eller hur jag kan gå vidare för att få en fungerande ordermodell att testa skripten i?

        Comment


        • #5
          Förmodligen har du missat att göra ett prisscript till ordermodellen.
          Läs om hur man bygger en ordermodell här:
          http://www.autostock.se/NATscriptref/Lektion11.html

          Fortsätt sedan med att läsa lektion 13 och 14.

          Last edited by LillWicke; 2013-01-31, 21:37.

          Comment


          • #6
            Men är det inte 4a1: Limit: Aktuell säljkurs.
            Står egentligen iofs "vl) Aktuell säljkurs")? I den står det ju bara: i1(mult(1,S)) men det känns spontant som det borde vara rätt.

            Alltså grejen är ju att jag följde lekt 13 och 14 jag följt när jag satte ihop ordermodellen, har gjort om det ett par gånger redan, men det måste ju vara nåt jag missar... :/

            Edit: Lite dumt, men jag insåg precis hur jag gör för att kopiera en av de medföljande ordermodellerna för att kunna gå in och redigera/titta på variablerna, fast jag läst om att det går att göra tidigare här på forumet. När jag bara bytar ut själva sl) i Mouintainvalley intradag ordermodelln generas det signaler med mitt enkla testskript. Alltså så är det nåt när jag ställer in ordermodellen från scratch som jag gör fel. Men nu kom jag iaf runt problemet att jag inte kunna backtesta modellerna och de är ju huvudsaken.
            Last edited by logiken; 2013-01-31, 22:18.

            Comment


            • #7
              Ok, du har alltså både sl), va), och vl)-script i modellen?
              Det är viktigt att scriptens namn börjar med ovanstående prefix. Triggerscriptets namn som du skrivit ovan exempelvis måste börja med sl).

              Comment


              • #8
                Japp, som sl) hade jag mitt eget testskript (det där uppe med staplarna),
                som va) använde jag "va) Maxantal vad kassan tillåter"
                och som vl) använde jag "vl) Aktuell säljkurs".

                Dock så märkte jag nu att om jag bytte vl) till mountain valley så fick jag signaler, vilket jag iofs inte helt förstår för när jag trixade och testade med de flesta medföljande va) och vl) innan hände inget.

                Comment


                • #9
                  Det är lite lurigt när man skapar en modell att man måste trycka på "spara" på tre ställen.

                  Dels när man är inne i "sekvens beteende"-> "spara sekvens"
                  Dels när man är inne i "triggerscript"-> "spara"
                  Och dels när man står på förstasidan "arbeta med ordermodeller"-> "spara"

                  Kan det ha varit någon "spara" du missat tidigare?

                  Comment


                  • #10
                    Hmm, det kan vara så det var. Men tycker jag sparade det så tidigare också.

                    Comment

                    Working...
                    X