Allmänt meddelande

Collapse
No announcement yet.

ordermodellfrågor

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

  • ordermodellfrågor

    Hej Lasse!
    Nu har jag kommit så långt att jag tänker utnytja det fina med frendly, att bygga en order modell.
    Den bygger på 4st skript. 2st skript baserat på fichnet,( fichköp,fichsälj) som skall indikera gå lång eller gå kort i omx termin. Samt 2st skript som fungerar som att gå ur lång position samt gå ur kort position.(sälj,gå urköp samt köp,gå ur sälj) stopp/loss vill jag också ha i bägge entry fallen.

    Några frågor som jag känner mej osäker på.
    #1 En liten hake i uppbyggandet av sekvenser som jag är osäker på. Ibland missbedömer skripten situationen och det kommer en efterföljande mot signal som bedömer läget att göra tvärt om, alltså om jag får signal att gå lång och innan ”gå ur köp” skript slår till och säljer så får jag signal att ”gå kort”.Då vill jag sälja av mitt köpta innehav även på den signalen då med en liten förlust och invänta en ny entry signal som alltid innebär för mej ”bekräfta före order läggning”.


    #2 som jag förstår så sköter orderläggningen allt i tur och ordning som jag skrivit ned dem.
    ----------------------------------------------------------------------------------------------------------
    sekvens1 sl) fichköp------------ xk)fichsälj (sälj om skriptet slår till före ”sälj,gå ur köp”)

    sekvens 2 sl)sälj,gå ur köp------om inte xk)fichsälj slagit till ,sälj köpt innehav på denna signal)

    ----------------------------------------------------------------------------------------------------------
    sekvens 3 sl)fichsälj---------------xk) fichköp(köp tillbaks sålt innehav och invänta ny signal)

    sekvens 4 sl)köp,gå ur sälj--------om inte xk)fichköp slagit till,köp tillbaks sålt inehav och invänta ny signal.
    ---------------------------------------------------------------------------------------------------------

    #3 efter sekvens 2 kan ett nytt fichköp komma om kursen har mer att ge nedåt. Vandrar ordermodellen förbi de ointressanta sekvens 3,4 och ger mej frågan vill du köpa 5kontrakt?

    #4 hur får jag den att rulla på så här utan att skriva nya direktiv,allt skall ju upprepas om och om igen.

    #5 hur skriver jag ett xk)skript att stoppa ut mej om kursen faller 3 punkter under inköpt kurs
    stiger3 punkter över insåld kurs

  • #2
    I nästa utgåva i April kommer mer rena funktioner för att låta en ordermodell stega sig runt till valfria sekvenser. Du kan också låta en modell undersöka att den skall nu stå på sekvens #2 redan när den ansluts. Har du haft stopp i kurserna kan den bestämma att nu skall du ställa dig på sekvens #1 osv. Synkronisering alltså. Massa nya möjligheter finns då.

    Som det är idag kan man göra det men på lite annorlunda sätt.

    Det bygger egentligen på

    innehav->cash(sälj)->blanka->cash(köp)

    Vid vissa tillfällen behöver man då rotera runt vid varje kursinsamling ett steg utan att göra något för att hamna på rätt sekvens.

    Det finns några funktioner

    Retval(d,01234)
    Getval(01234)

    De returnerar värden från scriptet och du kan hämta värden upp till scriptet.

    Triggerscript och Retval() sparar värden vid en trans såsom ett köp eller liknande.

    Och triggerscriptet kan också hämta dessa värden från senaste trans.

    Så genom att bygga ett eget kodat system för att flagga olika saker kan du hålla scripten informerade om vad som har varit och vad det skall göra.

    Låt säga att att du ger en kod 2 i minnescell 4 med

    Retval(2,4)

    och det skall tala om att du vill till sekvens #2.

    I sekvens #2 läser triggerscriptet värdet och vet att man skall stanna där.

    I sekvens #2 har du ett avsnitt

    returnera:=if(villkor,3,Getval(4))
    retval(returnera,4)

    Om 'villkor' så lagrar man värdet 3 i cell 4, annars vidarebefordrar man tidigare värdet vidare för att läsas av sekvens #3.

    I sekvens #3 läser triggerscriptet värdet och vet att man är i sekvens #3 med anledning av 'villkor' om värdet är 3 från getval(4). Då skall vi blanka i denna sekvensen direkt. Annars är värdet 2 och vi står kvar. Hade värdet varit 4 skulle man sett till att gå vidare till nästa sekvens direkt.

    Om t.ex 'villkor' står för att det skall vändas position och blankas i sekvens 3 så ser man till att det verkställs ordern med ett antal skiljt från noll. Annars verkställs ordern men med antal=0 dvs ingen order skickas utan det blir stegning till sekvens #4 i praktiken.

    Triggerscriptet har då två villkor med ellerfunktion för att bli sant.

    or(signal,eqv(getval(4),3))

    Här triggas alltså antingen om signal eller om förra sekvensen hade 'villkor' och värdet 3.

    I antalscriptet ser det kanske ut så här på slutet:

    if(eqv(getval(4),3),blankaantal,0)

    Om förra sekvensen hade 'villkor' dvs värdet 3 i minnescell 4 så skall vi blanka i denna sekvensen. Alltså ge antal ett värde. Annars returnera antal noll.

    Kanske du skönjer ett princip att arbeta efter.

    Hämtar man kurser varje minut så tar varje steg 1 minut att stega förbi en oönskad sekvens.

    Detta är ett sätt att hantera det.

    Sedan finns möjlighet att aktivera flera ordermodeller på varje papper. Då kan en ordermodell sköta innehav(köp) och nollning av blankning, och en annan modell sälj och blankning.

    Då körs alltid båda modellernas triggerscript. Och du kan t.ex efter sålt innehav få signal att du skall köpa igen därför kursen vänt.

    Aktivering av multipla modeller görs i Preferenser-> fliken Handel.

    Men ett väl definierat kodsystem behöver du ändå för helautomatiska tradingsystem som detta är.

    Men föreslagna principen ovan att koda som info om vilken som är nästa aktiva sekvens man skall till är ganska lätt att administrera.

    Comment

    Working...
    X