Allmänt meddelande

Collapse
No announcement yet.

Feedskydd och loopskydd

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

  • Feedskydd och loopskydd

    Har haft lite problem med störningar i guld och silverfeed. Valutafeederna kan ha spikes i datat som påverkar. Indexfeederna har inte detta problem.

    Tog fram ett filter för att ta bort effekten utan att skada edgarna.

    Görs 3 tester
    1) Test för h o L i minut
    2) Test för bar to bar i minut
    3) la till ett loopskydd för köp respektive sälj. Spärr på fem minuter (0.0035). Spärren kan göras längre.

    OBS! Lägg till extraobjekt sist i koden {@A(1,)}

    { Feedfilter köp }
    spikekoll=mult(mov(abs(sub(aref(c,1),aref(c,2))),20,s),0.25)

    checkkurs1=gt(spikekoll,sub(cmpref(H,1,a),cmpref(L,1,a)))
    checkkurs2=gt(spikekoll,sub(cmpref(H,2,a),cmpref(L,2,a)))
    checkkurs3=gt(spikekoll,sub(cmpref(H,3,a),cmpref(L,3,a)))
    checkkurs4=and(and(checkkurs1,checkkurs2),checkkurs3)

    checkkurs5=gt(spikekoll,sub(cmpref(c,1,a),cmpref(c,0,a)))
    checkkurs6=gt(spikekoll,sub(cmpref(c,2,a),cmpref(c,1,a)))
    checkkurs7=gt(spikekoll,sub(cmpref(c,3,a),cmpref(c,2,a)))
    checkkurs8=and(and(checkkurs5,checkkurs6),checkkurs7)

    loopskydd=gt(sub(d,lasttrade(s,d)),0.0035)

    ok_feed=and(and(checkkurs4,checkkurs8),loopskydd)

    { Feedfilter sälj }
    spikekoll=mult(mov(abs(sub(aref(c,1),aref(c,2))),20,s),0.25)

    checkkurs1=gt(spikekoll,sub(cmpref(H,1,a),cmpref(L,1,a)))
    checkkurs2=gt(spikekoll,sub(cmpref(H,2,a),cmpref(L,2,a)))
    checkkurs3=gt(spikekoll,sub(cmpref(H,3,a),cmpref(L,3,a)))
    checkkurs4=and(and(checkkurs1,checkkurs2),checkkurs3)

    checkkurs5=gt(spikekoll,sub(cmpref(c,1,a),cmpref(c,0,a)))
    checkkurs6=gt(spikekoll,sub(cmpref(c,2,a),cmpref(c,1,a)))
    checkkurs7=gt(spikekoll,sub(cmpref(c,3,a),cmpref(c,2,a)))
    checkkurs8=and(and(checkkurs5,checkkurs6),checkkurs7)

    loopskydd=gt(sub(d,lasttrade(b,d)),0.0035)

    ok_feed=and(and(checkkurs4,checkkurs8),loopskydd)

  • #2
    Jag har ritat feedskyddet i minutstaplar för guld. Guldfeeden har haft konstiga staplar länge. Utan loopskydd verkar "ok_feed" bara släppa igenom när kursen står stilla. Då borde signalerna även blockeras.

    Är loopskydd samma sak som delay. I så fall blir väl hela skyddet beroende av upplösning. Borde inte date() användas i stället för d?

    Samma sak kan hända för index, särskilt på morgonen. Inte lika vanligt.

    Edit: Jag har skrivet om inlägget då checken grafiskt bara släpper igenom när feeden står stilla. Jag vände på villkoret.
    Last edited by Henric; 2021-01-06, 16:51.

    Comment


    • #3
      Underliggande kan ju också påverkas av spikar det beror ju på hur stabil feeden är till utfärdare/marketmaker av underliggande instrument. Ofta kan ju köp och eller säljkurs försvinna momentant.

      Själv filtrerar jag direkt på det instrument jag önskar att handla. Det blir stabilast så. Se tråd https://www.autostock.se/vbulletin/s...ead.php?t=5533

      bbw03=LLV(s,2)
      ger en bra uppskattning över 2 minuter.

      villkor03=Ge(sub(s,b),0.01)
      om uppfyllt så är inte både köp och säljkurs nollade.

      mvh
      Bertil

      Comment


      • #4
        Jo, men det hjälper inte i detta fall och är en helt annan sak. Jag tycker vi i denna tråd håller oss till den andra situationen för att inte röra till det. Dessutom behöver inte emittenten ha samma feed.

        Ritar man när ok_feed(utan loopskyddet) är sant i minutupplösning för guld sker det bara när feeden står stilla. Skyddet borde slå till vid spikar och när kursen står stilla. Dessutom när innevarande stapel har stor diff mellan h,l och o. Förutsatt att man inte handlar med aref=minutanimering i bänken.
        Last edited by Henric; 2021-01-06, 17:33.

        Comment


        • #5
          Ursprungligen postat av Henric Visa inlägg
          Jo, men det hjälper inte i detta fall och är en helt annan sak. Jag tycker vi i denna tråd håller oss till den andra situationen för att inte röra till det. Dessutom behöver inte emittenten ha samma feed.

          Ritar man när ok_feed(utan loopskyddet) är sant i minutupplösning för guld sker det bara när feeden står stilla. Skyddet borde slå till vid spikar och när kursen står stilla. Dessutom när innevarande stapel har stor diff mellan h,l och o. Förutsatt att man inte handlar med aref=minutanimering i bänken.
          Röra till det och röra till det.
          Det intressanta är ju underliggande som man handlar, det är ju där man tjänar eller förlorar pengar. Kvaliteten på underliggandes feed måste ju också kontrolleras.
          Om man önskar kan man ju ta in en signifikativ underliggande (från den emmitent man önskar att handla från) som cmpref till terminfeeden och göra liknande kontroll som jag föreslog ovan.

          mvh
          Bertil
          Last edited by Bertil; 2021-01-06, 18:26.

          Comment


          • #6
            Jo visst. Det är ju underliggande som det gäller. Du kan komma med bra ideér för hur det ska lösas. Vill bara inte att mina frågor blir bortblandade i andra diskussioner.

            Feeden har inga köp- eller säljkurs. Emittenten använder förmodligen inte samma feed och tex guld har konstiga rörelser som inte förekommer hos indexterminen. HenrikSys har byggt ett Feed- och loopskydd. Det är tänkt att fungerar då analys görs på underliggande och replikering med minifutures. Jag har lite frågor om just hur de olika skydden och får tex inte feed-skyddet att fungera som tänkt vid diagramritning. Jag kan ha missat något och lämnar frågan öppen.

            Comment


            • #7
              Testade i bänken och det släpper igenom de riktiga signalerna. Körde ovan på omxs30 och skruvade åt så hårt att inte OMXS30 påverkades under antagande att inte feeden hoppar upp och ner.

              Comment


              • #8
                Jag kör det i dagsupplösning förutom extra objektet

                Comment


                • #9
                  Om man ska se det i grafen måste man nog lägga även spikekoll som extra objekt i dagsupplösning

                  Comment


                  • #10
                    När jag har spikekoll i dagsupplösning ser det bra ut.

                    Loopskddet blir fortfarande beroende på upplösning. Om man använder date() skulle det bli oberoende av upplösning. Alternativt att du vill blockera signaler hela dagen när skydeet slagit till och dagsupplösning.

                    Comment


                    • #11
                      Fick inte riktigt din modell att stämma Henric, så jag testade en variant av det du gjorde. I grafiken ser den ut att plocka bort det stora spikarna och de flesta små spikar.

                      Men det är svårt, råvarorna kan göra genuint våldsamma rörelser, dom rörelserna vill man inte missa heller. Å andra sidan så stoppas som regel prissättningen i minisarna vid dom där stora rörelserna lika väl, så det är nog bäst att inte agera oavsett om det är genuint eller inte.

                      spikekoll1=mult(mov(abs(sub(cmpref(h,1,B),cmpref(l,2,B))),20,s),0.25)
                      checkkurs1=lt(spikekoll1,abs(sub(cmpref(H,0,a),cmpref(L,0,a))))
                      checkkurs2=lt(spikekoll1,abs(sub(cmpref(H,1,a),cmpref(L,1,a))))

                      spikekoll2=mult(mov(abs(sub(cmpref(h,1,A),cmpref(l,2,A))),20,s),10)
                      checkkurs3=lt(spikekoll2,abs(sub(cmpref(H,0,a),cmpref(L,0,a))))
                      checkkurs4=lt(spikekoll2,abs(sub(cmpref(H,1,a),cmpref(L,1,a))))

                      spikekoll3=or(or(or(checkkurs1,checkkurs2),checkkurs3),checkkurs4)

                      mult(spikekoll3,10)

                      {@A(1,)@B(0,)}
                      Attached Files
                      Last edited by Lord S; 2021-02-21, 16:17.
                      AlgoPal - Emotionless Trading - Hyr ut våra trading algoritmer for Autostock via algopal.com

                      Comment


                      • #12
                        Du menar väl HenrikSys för jag ( Henric ) har inte föreslagit någon lösning?

                        Ursprungligen postat av Lord S Visa inlägg
                        Fick inte riktigt din modell att stämma Henric, så jag testade en variant av det du gjorde. I grafiken ser den ut att plocka bort det stora spikarna och de flesta små spikar.

                        Men det är svårt, råvarorna kan göra genuint våldsamma rörelser, dom rörelserna vill man inte missa heller. Å andra sidan så stoppas som regel prissättningen i minisarna vid dom där stora rörelserna lika väl, så det är nog bäst att inte agera oavsett om det är genuint eller inte.

                        spikekoll1=mult(mov(abs(sub(cmpref(h,1,B),cmpref(l,2,B))),20,s),0.25)
                        checkkurs1=lt(spikekoll1,abs(sub(cmpref(H,0,a),cmpref(L,0,a))))
                        checkkurs2=lt(spikekoll1,abs(sub(cmpref(H,1,a),cmpref(L,1,a))))

                        spikekoll2=mult(mov(abs(sub(cmpref(h,1,A),cmpref(l,2,A))),20,s),10)
                        checkkurs3=lt(spikekoll2,abs(sub(cmpref(H,0,a),cmpref(L,0,a))))
                        checkkurs4=lt(spikekoll2,abs(sub(cmpref(H,1,a),cmpref(L,1,a))))

                        spikekoll3=or(or(or(checkkurs1,checkkurs2),checkkurs3),checkkurs4)

                        mult(spikekoll3,10)

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

                        Comment

                        Working...
                        X