Allmänt meddelande

Collapse
No announcement yet.

stoppa ut/ta maxvinst

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

  • #31
    Nja jag vill nog ha ett script där jag kan ställa in hur mycket jag vill förlora vid felbeslut.

    Samtidigt vill jag kunna knipa till när jag är nöjd med eventuell vinst.

    Detta trodde ju jag att det här scriptet jobbade så att man ställde in hur många punkter i förhållande till köpkurs som det löste på.

    Comment


    • #32
      Men en vanlig stoploss borde väl funka?
      Vill du alltså ha en variant som tillåter tex 2 punkter innan det stoppar ut, alt bara 1 punkt från toppen om du har vinst?

      Det har vi haft uppe tidigare. Jag kan plocka fram om du vill.

      Comment


      • #33
        Här är en variant som kan ändras efter önskemål.

        sl) Stoploss lång

        lastbuy:=LastTrade(b,p)
        vinst:=Ge(c,Add(lastbuy,2)) {vinst=2 punkter eller mer}
        start:=if(ge(d,LastTrade(b,d)),h,0)
        maxhittills:=hhv(start,300)
        flytnivå:=If(vinst,2,4) {om vinst 2 punkter från högsta, annars 4}
        gräns:=Sub(maxhittills,flytnivå)
        signal:=Lt(c,gräns)
        signal

        Ovanstående löser ut 4 punkter från högsta värdet sedan köp, om det inte är mer än 2 punkters vinst för då är det 2 punkter från högsta som gäller.
        Bara att ändra till annat om du vill.


        Motsvarande för att stoppa ut en blankning blir:

        sl) Stoploss kort

        lastsell:=LastTrade(s,p)
        vinst:=Le(c,Sub(lastsell,2)) {vinst=2 punkter eller mer}
        start:=if(ge(d,LastTrade(s,d)),l,9999)
        minhittills:=Llv(start,300)
        flytnivå:=If(vinst,2,4) {om vinst 2 punkter från högsta, annars 4}
        gräns:=Add(minhittills,flytnivå)
        signal:=Gt(c,gräns)
        signal

        Comment


        • #34
          Tack för exportkurslistan, Ali.

          Nu har jag gjort en analys av vad som skett.

          Du kör per 10-minuters perioder

          Kod:
          17.00 H=669.8  L=668.8
          17.10 H=669    L=667.3
          17.20 H=667.3  L=666.8
          09.30 H=673.25 L=667.75
          09.40 H=672.5  L=671.5
          Ditt köp går igenom 17:09 på 668.5. Hi/lo visar att kursen inte var under 668.8 den perioden, men det är ju fördröjda kurser. Ditt avslut visar verkligt avslut i realtid förståss(motsvarar då början på nästa period fördröjt).

          Lägst under resten av dagen och nästa dag är 666.8. Detta är inte 2 punkter under inköpspriset 668.5. Så den absoluta stoppen löser inte ut någon gång.

          Flytande stoppen däremot letar efter högsta kurs från perioden där köpet skedde. Här 669.8 vilket är referensen vi skall titta på.

          2 punkter under är 667.8 för att flytande stoppen skall lösa. Alltså low under 667.8.

          Detta är uppfyllt perioden 17.10, 17.20, 09.30.

          Skulle scriptet varit anslutet igår efter köpet skulle det löst innan dagen slut. Två perioder är det ju uppfyllt redan då.

          Men villkoren är uppfyllda för flytande stoppen även idag på morgonen som synes. Första perioden för dagen och sista förgående dag är det uppfyllt.

          Ali, tack för ditt tålamod så vi fick rett ut det.

          Comment


          • #35
            Ända problemet är väl att backtesta. Tidpunkten som returneras av raden "start:=" är ju den verkliga tidpunkten då köp eller sälj senast skedde.
            Om den tidpunkten ligger före den tidpunkt du vill testa är det inget problem, men om du vill testa nåt som hände förra veckan och du har gjort affärer sen dess så funkar det inte.

            Comment


            • #36
              Rikard i dina script finns ingen tidsperiod, behövs inte det?

              Min teori var ju oxå att handla med ett 25 minuters-script och försöka att maximera vinsten eller minimera förlusten med ett 10 minuters.

              Det gäller ju att få ner antalet affärer till ett minimum.

              Det där att backtesta är överkurs för mig och det spelar ju egentligen ingen roll då det bara är nuet som är intresant i dessa oroliga tider.

              Comment


              • #37
                Det är helt riktigt!
                Vad som helst kan hända imorgon och då gäller inte gamla regler.

                Det där med att det saknas tidsperiod innebär bara att scripten körs i samma upplösning som grafen de är kopplade till.
                Och det behövs ju inga perioder när man testar mot close-kursen. Finns ju inga medelvärden och likn som är beroende av periodvärden.

                Detta är ett väldigt enkelt och blixtsnabbt script som stoppar ut så fort closekursen passerar gränsen.
                Och den får du ju se om du vill ha något annat värde på.

                Det man kan göra för att bygga vidare är kanske att mjuka upp funktionen med ett kort medelvärde för att tillåta ett eller annat avslut på fel sida gränsen utan att det löser ut.
                Sen kan man ju oxå spärra bort signaler precis vid börsöppningen, för då är det som regel ganska hysteriska värden ändå. Onödigt att ta en förlust bara för att marknaden inte kommit igång riktigt.

                Men förstår du ungefär hur det funkar med att ändra gränsen i takt med vinsten? Annars kan du ju ge mig ett exempel på tidpunkt och pris för ett köpt eller blankat kontrakt så kan vi ju reda ut när de här scripten löser ut.

                Comment


                • #38
                  Förslag...

                  Rikards script borde nog ha angiven intradayperiod.

                  Annars skannar du tillbaks 300 dagar efter en affär, och tar alltid samma dags dagshögsta som referens för stoppen. Det kan slå hur som helst beroende på om dagshögsta inträffar före eller efter man gör sin affär.

                  Dagskursen har också en tidstämpel som flyter med hela dagen och motsvarar senast inkomna kurs. Dvs du stoppar alltid skanning bakåt på samma dag som du haft senaste affär, och använder den dagens dagshögsta som referens för x antal punkter hit eller dit.

                  Så kör dit ett i10(), i5() eller så på sista raden är mitt råd.

                  Comment


                  • #39
                    Ojdå! Trodde att det blev intraday-upplösning om man kopplade scripten till en intradaygraf. Men det är ju lätt fixat som du säger att lägga till intradayprefixet sist.

                    Comment


                    • #40
                      Det är riktigt att det anpassar sig till en graf om du har sådan framme. Men det som ligger för automatisk bevakning har ingen koppling till en speciell graf. Detta gäller vilket det nu är vanlig scriptbevakning eller ordermodeller.

                      Så hittar man inget intradayprefix då så antas dagskursupplösning.

                      Comment


                      • #41
                        Ännu en fråga.

                        Måste man aktivera om ett aktiverat script om man ändrar i arbeta med ordermodeller eller tar ändringen direkt?

                        Comment


                        • #42
                          Om det är ett script som redan är aktiverat i en ordermodell och man bara gör ändringar i det scriptet så brukar jag inte återansluta ordermodellen.
                          Ändringarna tar direkt. Däremot om man gör nån annan ändring i ordermodellen, tex extra kontrollscript eller likn så måste man återansluta.

                          Comment


                          • #43
                            Kombinerad intelligent stoploss

                            {För köpt OMX-termin }
                            innehav0:=GT(portfolio(V),0)
                            bakåt1:=300
                            efterköp:=ge(d,LastTrade(b,d))
                            köpkurs:=LastTrade(b,p)
                            vinstmarginal:=2
                            vinst:=gt(c,add(köpkurs,vinstmarginal))
                            absolutStoploss0:=2
                            flytandeStoploss0:=if(vinst,2,4)
                            jfrlevel0:=if(efterköp,h,0)
                            max0:=hhv(jfrlevel0,bakåt1)

                            stoplevel0:=mx(sub(köpkurs,absolutStoploss0),sub(max0,flytandeStoploss0))
                            {-- undvik tillfällig spik genom att testa mot de två senaste perioderna --}
                            stabiltfall0:=2
                            stoploss0:=llv(lt(l,stoplevel0),stabiltfall0)
                            i10(and(innehav0,stoploss0))


                            Parametrar:

                            'bakåt1:=300' bestämmer hur långt det max kan vara till en köp i perioder(10-minuters här ger drygt 6 dygn).

                            'vinstmarginal:=2' vad krävs i vinst för att snäva upp stoppen

                            'absolutStoploss0:=2' max förlust du vill ta efter inköp

                            'flytandeStoploss0:=if(vinst,2,4)' Bestäm hur mycket flytande stopp du vill ha beroende på om du gjort vinst eller inte. I punkter från en topp som bildats.

                            'stabiltfall0:=2' bestämmer hur många perioder i rad signalen måste verka innan den löser ut.

                            Comment


                            • #44
                              Bravo Lasse!!!!
                              Tar du köpen oxå?

                              Detta har varit en fantastisk dag då jag kanske har lärt mig något lite och fått nya script att prova.

                              Att terminerna dessutom har gått med vinst är ju en extra bonus.

                              Comment


                              • #45
                                Hur många fel är det på detta, jag har ägnat mig åt att klippa och klistra som den berömda landshövdingen Marjazin och antagligen med samma dåliga resultat.

                                {För såld OMX-termin }

                                innehav0:=LT(portfolio(V),0)
                                bakåt1:=300
                                eftersälj:=ge(d,LastTrade(s,d))
                                säljkurs:=LastTrade(s,d)
                                vinstmarginal:=2
                                vinst:=lt(c,sub(köpkurs,vinstmarginal))
                                absolutStoploss0:=2
                                flytandeStoploss0:=if(vinst,2,4)
                                jfrlevel0:=if(eftersälj,h,0)
                                max0:=hhv(jfrlevel0,bakåt1)

                                stoplevel0:=mx(sub(köpkurs,absolutStoploss0),sub(max0,flytandeStoploss0))
                                {-- undvik tillfällig spik genom att testa mot de två senaste perioderna --}
                                stabiltfall0:=2
                                stoploss0:=llv(lt(l,stoplevel0),stabiltfall0)
                                i10(and(innehav0,stoploss0))


                                Comment

                                Working...
                                X