Allmänt meddelande

Collapse
No announcement yet.

Tips som tack för all hjälp!

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

  • Tips som tack för all hjälp!

    Hej,

    Jag har fått en hel del hjälp här på forumet, som tack för hjälpen tänkte jag dela med mig av en grej jag kommit på och jag hoppas att någon får nytta av det.

    Jag ville handla med flera parallella script som är oberoende av varann och enklaste sättet att lösa det på har varit att skaffa flera depåer, men det blir ganska kapitalintensivt då varje depå måste ha tillräckligt med kapital för att hålla sin enskilda position så det var inte aktuellt.
    Det slog mig då att om man låter de enskilda scripten "rapportera" till en global cell istället och sen har ett script som räknar ihop summan av dessa celler och kollar av att antalet i depån alltid stämmer överens så kommer man runt detta problem, då behövs bara en depå och kapitalet kan användas mer effektivt.

    man kan dessutom skapa ett inställnings-script som man alltid kan ha framme på arbetsytan, så kan man lätt ändra sina inställningar om det behövs.

    låt mig visa ett exempel:

    g) Settings

    {trend1}
    medel1:=100
    medel2:=300
    {trend2}
    medel3:=50
    medel4:=150
    {trend3}
    medel3:=25
    medel4:=75

    SetGvarIf(medel1,101,1)
    SetGvarIf(medel2,102,1)
    SetGvarIf(medel3,103,1)
    SetGvarIf(medel4,104,1)
    SetGvarIf(medel5,105,1)
    SetGvarIf(medel6,106,1)

    SetGvarIf(add(add(GetGvar(201),GetGvar(202)),GetGvar(203)),200,1)

    ----------------
    sl) trend1
    medel1:=mov(c,GetGvar(101),s)
    medel2:=mov(c,GetGvar(102),s)
    antal:=if(gt(medel1,medel2),1,-1)
    SetGvarIf(antal,201,1)

    ----------------
    sl) trend2

    medel1:=mov(c,GetGvar(103),s)
    medel2:=mov(c,GetGvar(104),s)
    antal:=if(gt(medel1,medel2),1,-1)
    SetGvarIf(antal,202,1)

    ----------------
    sl) trend3

    medel1:=mov(c,GetGvar(105),s)
    medel2:=mov(c,GetGvar(106),s)
    antal:=if(gt(medel1,medel2),1,-1)
    SetGvarIf(antal,203,1)

    ----------------
    sl) köp
    antal:=GetGvar(200)
    i1(
    köp=gt(antal,portfolio(v))
    )

    ----------------
    sl) sälj
    antal:=GetGvar(200)
    i1(
    köp=lt(antal,portfolio(v))
    )

    ----------------
    va) köp antal
    köpantal:=GetGvar(200)
    innehav:=portfolio(v)
    i1(
    övermål=Ge(innehav,köpantal)
    slutantal1=If(övermål,0,sub(köpantal,innehav))
    slutantal1
    )

    ----------------
    va) sälj antal
    blankantal:=GetGvar(200)
    innehav:=portfolio(v)
    i1(
    undermål=Le(innehav,blankantal)
    slutantal1=Abs(If(undermål,0,sub(blankantal,innehav)))
    slutantal1
    )

    ----------------

    Detta var ett exempel på hur jag använder globala celler att handla flera oberoende strategier i samma depå, och jag rekommenderar ingen att köra skarpt med just dessa script.

    Det kan tyckas lite rörigt med alla script och celler hit och dit, men om man klottrar ner på papper vilka celler som gör vad så är det inte så farligt.

    Jag kör mina fyra olika strategier kopplade på själva index, sen har jag bara en ordermodell för köp och en för sälj kopplat till terminen.
    Settings-scriptet har jag uppe i ett separat fönster hela tiden om jag vill ändra någon parameter.
    Sen har varje strategi även en antal-parameter så att tex. en trend-strategi som jobbar på lite längre sikt kanske väger tyngre i depån än en kortsiktig scalp-strategi...

    Hoppas att någon orkar läsa detta och blir inspirerad!

    Mvh
    nyrn2k

  • #2
    Jag kör på detta sättet och det fungerar bra. Du kan även lägga målantal för varje delmodell i konfigscriptet. Då går det snabbt att ändra målantal på ett ställe. Om du gör beräkningar som sparas i globala celler och som kan ändras när diagrammet ritas om är det bra att välja bort visa i diagram.

    Comment


    • #3
      Precis, jag kör också med målantal för varje delscript, men jag knattrade ner detta för hand och glömde det...
      Sen när jag kom på det orkade jag inte gå tillbaka och ändra utan skrev det nedanför att jag kör så.
      Jag ville bara visa själva konceptet, som tack för hjälpen och hoppas att någon får nytta av det...

      Comment


      • #4
        Det åker in bland sparade bra-att-ha-saker och ska definitivt läsas och begrundas och förmodligen användas!

        Tackar!

        Vet ni för övrigt om det finns någon matris vilka celler som är använda av standardstrategierna?

        Comment


        • #5
          Snyggt jobbat verkligen!

          Comment


          • #6
            Kan man använda detta förfarandet då man har en kommersiell strategi och inte har tillgång till signal-scripten?
            Behöver man komplettera med en extra sekvens i ordermodellen eller kan man lägga in skrivningen till den globala antalvariabeln i va-scriptet för den kommersiella strategin (för det scriptet är inte krypterat)?

            Tips och tankar?

            Mvh

            Comment


            • #7
              Jag är lite osäker på både hur extra sekvenser och kommersiella strategier beter sig...

              men du kan ju prova att lägga till en sekvens till ordermodellen, var enda funktion är att om den blir triggad så sätter den en global variabel till 1 för lång och -1 för kort

              sen gör du ett script som ritar den variabeln i ett av analysområdena, så ser du om det funkar som det ska.

              Om det funkar så borde du kunna sätta storleken till 0 på den vanliga inställningen för strategin och istället koppla den som ett av delscripten ovan.

              kan vara bra att lägga till en uppsättning variabler till i settings-scriptet ovan, nämligen antal för varje delstrategi man vill köra...

              Comment


              • #8
                Det verkar sunt och borde fungera! Ska prova detta under morgondagens handel.

                Tackar!

                Comment


                • #9
                  Håller på att testa ut detta nu.

                  Kopplar en extra sekvens till kommersiell strategi som ska sätta global cell. Kan denna sekvens vara simulerad? Jag har satt den till det nu, men det verkar inte fungera.

                  Mitt script:
                  SetGvarIf(GetGVar(821),801,1)

                  där 821 är antalet för denna strategin enligt mitt settingsscript. 801 är orderantalet.

                  Vad innebär simulerad? Exekveras scriptet men ingen skarp order sänds, eller hur funkar det?

                  EDIT:

                  i1(
                  and(1,1)
                  SetGvarIf(GetGVar(821),801,1)
                  )

                  Har kompletterat med upplösning och signal. Kanske går bättre...
                  Last edited by NickoTrader; 2012-01-31, 10:50.

                  Comment


                  • #10
                    Simulerad innebär att lokal ordertransaktion skapas endast, inget riktigt innehav detekteras av Portfolio(v) så beroende på modellens uppbyggnad är det kanske inte lämpligt med Simuleraläge. Scriptet exekveras, men ingen order sänds.

                    Comment


                    • #11
                      Tack. Att det inte skapas innehav visste jag.

                      Borde mitt senaste script ovan sätta variabeln även i simulerad mode?

                      Kan man för övrigt sätt utloggningstiden i detta forum - blir ju utloggad hela tiden...

                      Comment


                      • #12
                        Jag har nog fattat fel med sekvenserna.

                        Istället för att ha en extra sekvens så bag borde jag kunna lägga till ett extra kontrollscript i min befintliga kommersiella strategis ordermodell, som sätter min globala variabel:

                        i1(
                        SetGvarIf(GetGVar(821),801,1)
                        and(1,1)
                        )

                        Returnera alltid ett så att automatisk order inte hindras. Kan det vara något?

                        Extra sekvens har jag inte fått att funka.

                        Eller hur ser din modell ut rent schematiskt, nyrn2k? 2 sekvenser eller?

                        Mvh
                        Last edited by NickoTrader; 2012-01-31, 23:11.

                        Comment


                        • #13
                          nej, det är bara en sekvens i mina ordermodeller
                          en ordermodell för köp som triggas av att portfolio(v) < total antalsumma,
                          och en för sälj som triggas av att portfolio(v) > totalantalsumma...

                          sen räknar antalscripten ut antal som behöver köpas/säljas för att stämma överens med total antalsumma...

                          Jag förstår inte riktigt vad din fråga är, inte heller vad dina variabler gör,
                          men om du försöker att förtydliga så ska jag göra mitt bästa för att hjälpa dig...

                          Comment


                          • #14
                            Kan förstå att du inte förstod...något luddigt.

                            I mina egna köp och sälj-triggerscript så sätter jag plus- eller minus-antal beroende på om det är köp eller sälj. Dessa räknas sedan ihop till totalantalsumman i "ditt" settingscript.
                            De slutliga ordermodellerna som köper och säljer beroende på totalantalsumman (som du beskriver nu senast) funkar också.
                            Det körde jag skarpt idag så det är OK.

                            Problemet är min kommersiella strategi:
                            Själva triggerscripten är ju krypterade så dem kan jag inte gå in i och sätta globala antalvariabler i.

                            Därför funderar jag det fungerar att modifiera den kommersiella strategins ordermodell på följande vis:

                            - Sätta ordertyp på sekvensen till Simulera
                            - Makulera inte tidigare order
                            - Ta bort extra kontrollscript, typ delay order
                            - Nolla i antalscript

                            - Sätta in ett extra eget kontrollscript vars enda uppgift är att sätta den globala antalvariabeln för den strategin (som sedemera räknas ihop med de andra strategiernas enligt ovan)

                            Vad jag undrar är:
                            - Fungerar det att sätta ett kontrollscript på detta viset?
                            - Exekveras kontrollscriptet även med Simulera som modelltyp?
                            - Kan jag få någon annan lustig effekt av detta?

                            Nu hade jag förberett detta för skarp test idag, men bredbandet låg nere...typiskt. Men det kanske blir billigare om jag får svar här

                            Mvh

                            Comment


                            • #15
                              Jag skulle prova att i den kommersiella strategins ordermodell göra följande:
                              (jag antar att det är en för köp och en för sälj)

                              lägg till en sekvens i köpordermodellen som sätter en Gvar till +1
                              Det borde räcka med SetGvarIf(+1,X,1)
                              (detta är för test, så den ska inte kopplas till totalsumme-Gvar ännu)
                              antagligen funkar detta bäst om den är i skarpt läge
                              vad gör första sekvensen efter att den triggats? loopar den tillbaka till sig själv?
                              ändra i så fall så att den stegar till nästa sekvens och den i sin tur stegar tillbaka till första...

                              Gör motsvarande för sälj-ordermodellen
                              SetGvarIf(-1,X,1)

                              sen ett grafiskt script som ritar X i ett av analysområdena,
                              då får du ett kvitto på om det funkar.

                              Om det funkar borde det räcka att nolla antalet i det kommersiella scriptet och koppla på Gvar X till din Total-antal-variabel

                              Comment

                              Working...
                              X