Allmänt meddelande

Collapse
No announcement yet.

Scripting - Best Practices

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

  • #16
    Kopierade in ovanstående som du sa, la bara till mult(mt2,20) längst ner. Den larmade 17:17 idag. Så på ett sätt framgång i och med att vi fick den att larma annan tid än 17:15. Men ändå lite fel tid och vi vet fortfarande inte varför det inte funkar i min vanliga strategi. Några snilleblixtar?
    "Nothing noble is done without risk." - André Gide

    Comment


    • #17
      Flyttade fram tiden till 11 minuter kvar... DÅ larmade den 17:18.

      Några tankar kring varför den larmar en minut fel och varför samma script inte fungerar inuti min ordermodell?

      Tacksam för svar!
      "Nothing noble is done without risk." - André Gide

      Comment


      • #18
        Ursprungligen postat av Rikard Nilsson Visa inlägg
        1. Det går att "komma ihåg" signaler x antal staplar bakåt med Hhv. Det gör att man kan blockera innevarande stapels signal om föregående stapel genererade en SANN signal. Alltså:

        signal:=-ditt script-
        blockerad:=And(Not(Hhv(signal,2)),signal)

        här testas om "signal" var sant förra perioden, och i så fall blockeras signal innevarande period. Då får man effekten att endast första stapeln i en kontinuerlig "skur" av signaler släpps igenom. Nackdelen är ju att det bara krävs en enda stapel utan signal för att nästa stapels signal ska släppas igenom. Det går ju att vidareutveckla naturligtvis, men ofta räcker det här för att stoppa hela sjok med signaler.

        2. Man avgör egentligen själv vad man tycker är lämpligast här, men generellt brukar man använda tilldelade namn för att definiera saker, och sk minnesreferenser när något ska exekveras snabbt och förbruka mindre parentesdjup. Man slår ganska snabbt i taket annars med de maximala 10 parentesnivåer som tillåts. Det går att skriva script helt och hållet med minnesreferenser, men vissa funktioner kräver att det är ett tilldelat namn, tex GetGVar(). Andra som tex Draw() måste ligga som minnesreferens för att fungera.

        För backtestning är det klart snabbast att använda minnesreferenser så mycket som möjligt. Det spar mycket tid om man optimerar något.


        Jag använder en minnesreferenser med GetGvar(). Jag får inga kompileringsfel och allt verkar fungera. Vad händer om man kör på detta sätt och vad kan dem oönskade effekterna bli?

        Comment


        • #19
          Det ska inte vara några problem. Vill man vara på säkra sidan kan man ju alltid lägga till ett extra kontrollscript i ordermodellen som ser till att spärra ev orderskurar om något ändå skull vara fel i triggerscriptet.

          Comment

          Working...
          X