Allmänt meddelande

Collapse
No announcement yet.

Utbrott från Squeeze

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

  • Utbrott från Squeeze

    Jag försöker tota ihop ett utbrott från en Squeeze-script, men behöver hjälp.
    Jag hittade Henrics kod i inlägg nr 2185 och försöker återanvända den, men lyckas inge vidare - antagligen för att jag inte riktigt förstår alla komponenter i koden.
    Så här har jag fått till det just nu fast det ger ju inga signaler.
    Jag försöker få till att vi INTE har er squeeze nu idag men vi hade det igår och gärna med tilltagande momentum. Alltså ett utbrott.
    Tycker det känns logiskt men AT håller inte med...

    Jag uppskattar som vanligt all hjälp jag kan få.

    { Bollinger }
    bbUpper=bolbands(20,2,u)
    bbLower=bolbands(20,2,l)

    { Keltner }
    kcUpper=add(ema(c,20),mult(2,atr(10)))
    kcLower=sub(ema(c,20),mult(2,atr(10)))

    kcHög=hhv(kcUpper,20)
    kcLåg=llv(kcLower,20)
    fastmom=sub(c,div(add(div(add(kcHög,kcLåg),2),ema(c,20)),2))
    slowmom=LinReg(fastmom,20)

    { Squeeze indicator }
    squeeze_on=if(and(gt(bbLower,kcLower),lt(bbUpper,kcUpper)),0.0001,0)
    squeeze_off=if(eqv(squeeze_on,0),0.0001,0)

    momrise=if(gt(slowmom,aref(slowmom,1)),slowmom,0)
    momdecl=if(le(slowmom,aref(slowmom,1)),slowmom,0)

    {utbrott: squeeze*off, stigande slow momentum och positiv fast momentum}
    utbrott_1=and(and(squeeze_off,momrise),gt(fastmom,0))
    utbrott_2=and(utbrott_1,aref(squeeze_on,1))
    Last edited by JohanB; 2018-03-15, 20:09.

  • #2
    Om jag minns rätt är denna en direkt översättning från ett annat programspråk. Jag ritar när utbrott_2 blir sant och det ger signaler. Sedan kan det bero på instrument, upplösning och parametervärden. Om scriptet inte fungerar kan du rita enskilda villkor för att kolla.

    { Bollinger }
    bbUpper=bolbands(20,2,u)
    bbLower=bolbands(20,2,l)

    { Keltner }
    kcUpper=add(ema(c,20),mult(2,atr(10)))
    kcLower=sub(ema(c,20),mult(2,atr(10)))

    kcHög=hhv(kcUpper,20)
    kcLåg=llv(kcLower,20)
    fastmom=sub(c,div(add(div(add(kcHög,kcLåg),2),ema(c,20)),2))
    slowmom=LinReg(fastmom,20)

    { Squeeze indicator }
    squeeze_on=if(and(gt(bbLower,kcLower),lt(bbUpper,kcUpper)),0.0001,0)
    squeeze_off=if(eqv(squeeze_on,0),0.0001,0)

    momrise=if(gt(slowmom,aref(slowmom,1)),slowmom,0)
    momdecl=if(le(slowmom,aref(slowmom,1)),slowmom,0)

    {utbrott: squeeze*off, stigande slow momentum och positiv fast momentum}
    utbrott_1=and(and(squeeze_off,momrise),gt(fastmom,0))
    utbrott_2=and(utbrott_1,aref(squeeze_on,1))

    draw(mult(utbrott_2,10),3,gsbF)

    add(0,0)

    Comment


    • #3
      -Nä, jag får inte till det, det funkar fortfarande inte.

      Nu har jag åtminstone kokat ner det till att det är squeeze_villkoret som inte är rätt.
      Tidsperiod 2015-01 - 2016-12, 50 aktier från large- och midcap.

      Utan squeeze-villkoret blir det 274 trades, med squeeze villkoret blir det 9 trades...

      Jag har förenklat lite och bl a tagit bort momentum villkoren.
      Då blir det detta kvar:

      { Bollinger }
      bbUpper=bolbands(20,2,u)
      bbLower=bolbands(20,2,l)

      { Keltner }
      kcUpper=add(ema(c,20),mult(2,atr(10)))
      kcLower=sub(ema(c,20),mult(2,atr(10)))

      { Squeeze }
      squeeze_on=and(gt(bbLower,kcLower),lt(bbUpper,kcUpper))


      Om jag prövar med villkoret "utbrott_1=not(squeeze_on)" blir det också bara 9 trades..? Det förvånar mig, jag trodde det skulle bli fler.

      Att i nuläget lägga till "utbrott_2=and(utbrott_1,aref(squeeze_on,1))" känns ju inte som någon större idé, men har någon en förklaring till varför det kan bli så här?

      Comment


      • #4
        Jag har inte tittat. Det finns egentligen bara ett eller två villkor beroende på hur man ser det. Du kan prova att justera värdena för Upper och Lower. Alternativt rita ut värdena i diagrammet för några aktier.

        Comment

        Working...
        X