Allmänt meddelande

Collapse
No announcement yet.

Hur skriva tid i global cell?

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

  • #16
    Hej, nu har jag kört min handelsmodell skarpt i en timme och jag ser redan att den felaktigt inte ger någon signal. Min första misstanke är att mitt trendfilter-script som körs på terminsdiagrammet ej ger signal ordentligt in i entry-scriptet.


    Trendfilter-script
    ==============
    Körs i terminsdiagrammet och lagrar 1 eller 0 i global cell 110.


    {Blockera cellskrivning under diagramritning}
    minut_nu:=mult(frac(date()),1440)
    datum_ok:=eqv(int(d),int(date()))
    block_diag_skriv:=and(datum_ok,eqv(cum(1),1))


    i1(
    {entry_ok är ett trendfilter som ger 1 för köpläge}
    entry_ok= bla.bla.


    DRAW(hög,1,dgqb)
    DRAW(låg,2,rqb)
    DRAW(MULT(entry_ok,40),4,ksaf)

    SETGVARIF(0,110,and(block_diag_skriv,NOT(entry_ok)),T)
    SETGVARIF(1,110,and(block_diag_skriv,entry_ok),T)

    ADD(0,0)
    )


    I Entry-scriptet plockas signalen i global cell 110 upp, se nedan. Felet skulle även kunna bero på stoploss-signalen (som sätts i Exit-scriptet), men jag tänkte börja med att studera trendfilter-signalen.

    Entry-script
    =========


    {Entry-signal}
    Bla.bla.
    signal1:=
    signal2:=
    signal3:=

    {Antal minuter in på dagen}
    minut_nu:=mult(frac(date()),1440)

    {Är kl mindre än 09.03?}
    tidigt:=LT(minut_nu,543)

    {Är kl mer än 09.06?}
    inpådagen:=GT(minut_nu,546)

    {Stängningskontroll, mer än 20 minuter kvar tills stängning?}
    ejstänging:=GT(MULT(1440,SUB(MARKET(C),FRAC(DATE()))),20)

    {Trendkontroll}
    trendar:=GETGVAR(110,N)

    {Mer än 11 minuter sedan stop loss?}
    stoplosstid:=GETGVAR(111,N)
    minsedan:=sub(minut_nu,stopplosstid)
    ejstoploss:=GT(minsedan,11)

    {Innehavskontroll}
    maxpos:=SCRPAR(32)
    innehav:=PORTFOLIO(V)
    skaöka:=LT(innehav,maxpos)


    i5(
    köp1=AND(signal1,tidigt)
    köp2=AND(signal2,signal3)
    köp3=AND(köp2,inpådagen)

    köp4=OR(köp1,köp3)
    köp5=AND(köp4,trendar)
    köp6=AND(köp5,ejstoploss)
    köp7=AND(köp6,ejstängning)
    köp8=AND(köp7,skaöka)
    MULT(köp8,10)
    )

    Comment


    • #17
      Efter en snabb genomläsning av det du visat hittills av dina script i inlägg #16 kan i alla fall inte jag inte se några formella fel. Felet med utebliven signal ligger nog i någon annan kod.

      Möjligen kan man kanske ha lite synpunkter på själva scriptutförandet men det är ingenting som ska påverka själva resultatet.

      I trendfilter-scriptet komplicerar du syntaxen för SetGvarIf() lite väl mycket tycker jag.
      "Entry_ok" är inte det ett villkor som ger antingen en etta eller nolla som resultat? Samtidigt är det är också det värdet du vill lagra i cellen?

      I så fall kan då ersätta raderna:
      SETGVARIF(0,110,and(block_diag_skriv,NOT(entry_ok)),T)
      SETGVARIF(1,110,and(block_diag_skriv,entry_ok),T)

      med raden:
      SETGVARIF(entry_ok,110,1,T)

      Comment


      • #18
        Christer, hur gick det?
        Får du någon signal?

        Comment


        • #19
          Hej, åkte till Spanien med familjen samt haft lite uppkopplingsproblem...

          LillWicke, det blev ändå ingen signal - jag måste nog bryta ned hel entryscriptet och noggrant analysera vad som fungerar och inte fungerar. Antagligen är det något av a) trendfiltret som körs som diagramscript och skriver 0/1 i en global cell, eller så är det b) testet i entryscriptet som kollar om SAR2-kurva bryts.

          Mer info om trendfiltret finns här http://www.autostock.se/vbulletin/showthread.php?t=2864
          Last edited by Christer; 2012-07-07, 17:45.

          Comment

          Working...
          X