Allmänt meddelande

Collapse
No announcement yet.

Terminator AND Heiken Ashi

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

  • Terminator AND Heiken Ashi

    Hade en teori om att testa ett Terminator köp script och bara låta det ta position om Heiken Ashi smooth visar gröna staplar i samma instrument och upplösning. Försökte att bara göra ett script där jag använder And(), men det verkar inte funka. Har jag gjort nåt knepigt eller är det Heikens uppbyggnad som gör att detta inte går?
    (Egentligen är det ju också bara första köpet jag vill kolla mot Heiken. Om terminator redan har en eller flera positioner så vill jag ju låta den löpa.)

    { Heiken Ashi smooth köp }

    sp1:=50
    first:=aref(div(add(o,c),2),add(sp1,1):50)
    mc1:=div(add(add(c,o),add(l,h)),4)

    {arr with power of 2 values,9,8,7...}
    retval(0,0)
    retval(0,1)
    ack:=cum(1,sp1)
    mweight:=power(2,sub(sp1,ack))
    mcweight:=mult(mweight,aref(mc1,ack:sp1))
    mscweight:=retval(add(getval(0),mcweight),0)
    dscweight:=retval(add(getval(1),mweight),1)
    loop(ack,sp1)
    dcweight:=add(getval(1),1)

    i30(
    tots1=add(getval(0),const(first))
    haOpen=div(tots1,mult(1,dcweight))

    mclose=div(add(add(c,o),add(l,h)),4)

    draw(haOpen,3,mqbw)

    BuyHA=ge(mclose,haOpen)



    { Terminator köp }

    step1=0
    minuter1=7
    maxantal=5
    period1=eqv(int(ref(d,1)),int(d))
    period2=eqv(int(ref(d,5)),int(d))
    period3=eqv(int(ref(d,16)),int(d))
    gräns1=And(hhv(Not(period1),2),period1)
    gräns2=And(hhv(Not(period2),2),period2)

    hi1=Find(gräns1,50,h,1)
    lo1=Find(gräns1,50,l,1)
    hi2=Find(gräns2,50,h,1)
    lo2=Find(gräns2,50,l,1)
    lo3=if(period2,lo2,lo1)
    hi3=if(period2,hi2,hi1)
    nästa_per=gt(d,lasttrade(b,d))
    öppet=ge(mult(1440,sub(market(c),frac(date()))),minuter1)
    Draw(hi3,2,dgqb1)
    Draw(lo3,3,rqb1)
    long1=and(lt(portfolio(v),maxantal),period1)
    long2=and(and(long1,gt(c,hi3)),gt(c,aref(h,1)))
    long3=or(gt(s,add(step1,lasttrade(b,p))),le(portfolio(v),0))
    long4=and(long2,long3)
    long5=and(and(long4,öppet),nästa_per)
    mult(and(BuyHA,long5),15)
    )

  • #2
    step1=0
    minuter1=7
    maxantal=5

    Minnesreferenser kan inte vara konstanter, utan måste vara ett uttryck.
    Ändra aktuella till en beräkning eller flytta upp dem och gör dem till tilldelade namn.

    tex add(5,0)

    Tänk på att innehav/tidigare affärer påverkar vid diagramritning. Portfolio(v),lasttrade, etc. Lika så b/s kan spöka om man testkör på index.

    Comment


    • #3
      Köpsidan triggar, men får inga signaler på säljsidan?

      step2:=0
      minuter2:=7
      maxantal:=-5
      { Heiken Ashi smooth sälj }

      sp1:=50
      first:=aref(div(add(o,c),2),add(sp1,1):50)
      mc1:=div(add(add(c,o),add(l,h)),4)

      {arr with power of 2 values,9,8,7...}
      retval(0,0)
      retval(0,1)
      ack:=cum(1,sp1)
      mweight:=power(2,sub(sp1,ack))
      mcweight:=mult(mweight,aref(mc1,ack:sp1))
      mscweight:=retval(add(getval(0),mcweight),0)
      dscweight:=retval(add(getval(1),mweight),1)
      loop(ack,sp1)
      dcweight:=add(getval(1),1)

      i30(
      tots1=add(getval(0),const(first))
      haOpen=div(tots1,mult(1,dcweight))

      mclose=div(add(add(c,o),add(l,h)),4)

      draw(haOpen,3,mqbw)

      SellHA=le(mclose,haOpen)



      { Terminator sälj }


      period1=eqv(int(ref(d,1)),int(d))
      period2=eqv(int(ref(d,5)),int(d))
      period3=eqv(int(ref(d,16)),int(d))
      gräns1=And(hhv(Not(period1),2),period1)
      gräns2=And(hhv(Not(period2),2),period2)

      hi1=Find(gräns1,50,h,1)
      lo1=Find(gräns1,50,l,1)
      hi2=Find(gräns2,50,h,1)
      lo2=Find(gräns2,50,l,1)
      lo3=if(period2,lo2,lo1)
      hi3=if(period2,hi2,hi1)
      nästa_per=gt(d,lasttrade(s,d))
      öppet=ge(mult(1440,sub(market(c),frac(date()))),minuter2)
      short1=and(gt(portfolio(v),maxantal),period1)
      short2=and(and(short1,lt(c,lo3)),lt(c,aref(l,1)))
      short3=or(lt(b,sub(lasttrade(s,p),step2)),ge(portfolio(v),0))
      short4=and(short2,short3)
      short5=and(and(short4,öppet),nästa_per)
      mult(and(SellHA,short5),20)
      )

      Comment


      • #4
        Loop-funktionen ska köras med minnesreferenser. Prova att flytta ner loopen efter intradayprefixet.

        Comment


        • #5
          Testat det också nu, funkar ändå inte...

          step2:=0
          minuter2:=7
          maxantal:=-5
          { Heiken Ashi smooth sälj }

          sp1:=50
          first:=aref(div(add(o,c),2),add(sp1,1):50)
          mc1:=div(add(add(c,o),add(l,h)),4)

          {arr with power of 2 values,9,8,7...}
          retval(0,0)
          retval(0,1)
          ack:=cum(1,sp1)
          mweight:=power(2,sub(sp1,ack))
          mcweight:=mult(mweight,aref(mc1,ack:sp1))
          mscweight:=retval(add(getval(0),mcweight),0)
          dscweight:=retval(add(getval(1),mweight),1)




          dcweight:=add(getval(1),1)

          i30(
          loop(ack,sp1)
          tots1=add(getval(0),const(first))
          haOpen=div(tots1,mult(1,dcweight))

          mclose=div(add(add(c,o),add(l,h)),4)

          draw(haOpen,3,mqbw)

          SellHA=le(mclose,haOpen)



          { Terminator sälj }


          period1=eqv(int(ref(d,1)),int(d))
          period2=eqv(int(ref(d,5)),int(d))
          period3=eqv(int(ref(d,16)),int(d))
          gräns1=And(hhv(Not(period1),2),period1)
          gräns2=And(hhv(Not(period2),2),period2)

          hi1=Find(gräns1,50,h,1)
          lo1=Find(gräns1,50,l,1)
          hi2=Find(gräns2,50,h,1)
          lo2=Find(gräns2,50,l,1)
          lo3=if(period2,lo2,lo1)
          hi3=if(period2,hi2,hi1)
          nästa_per=gt(d,lasttrade(s,d))
          öppet=ge(mult(1440,sub(market(c),frac(date()))),minuter2)
          short1=and(gt(portfolio(v),maxantal),period1)
          short2=and(and(short1,lt(c,lo3)),lt(c,aref(l,1)))
          short3=or(lt(b,sub(lasttrade(s,p),step2)),ge(portfolio(v),0))
          short4=and(short2,short3)
          short5=and(and(short4,öppet),nästa_per)
          mult(and(SellHA,short5),20)
          )

          Comment


          • #6
            Börja om och lägg allt f.o.m. {arr with power of 2 values,9,8,7...} innanför prefixet.

            ...en sak till. Date(){tid systemklockan} kan göra att det inte ritas i diagram. För ritning kan du prova att byta Date() mot d.
            Last edited by Henric; 2015-01-05, 20:10.

            Comment


            • #7
              Ursprungligen postat av Emil Visa inlägg
              Testat det också nu, funkar ändå inte...

              )
              Med loop-funktionen menas hela detta avsnitt:

              {arr with power of 2 values,9,8,7...}
              retval(0,0)
              retval(0,1)
              ack:=cum(1,sp1)
              mweight:=power(2,sub(sp1,ack))
              mcweight:=mult(mweight,aref(mc1,ack:sp1))
              mscweight:=retval(add(getval(0),mcweight),0)
              dscweight:=retval(add(getval(1),mweight),1)
              loop(ack,sp1)
              dcweight:=add(getval(1),1)
              Last edited by LillWicke; 2015-01-05, 23:20.

              Comment


              • #8
                Jo, nu verkar det funka till sist! Men som vanligt så blir ju inte utfallet som man hoppats på...
                Tack Henric och LillWicke!

                Comment

                Working...
                X