Allmänt meddelande

Collapse
No announcement yet.

Nybörjarfråga2 - medelvärde

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

  • Nybörjarfråga2 - medelvärde

    Hej,

    Jag försöker detektera en "big range day" och behöver räkna ut genomsnittlig range för 20 staplar innan gårdagen. Jag tänkte prova som nedan men vet inte om det blir rätt. Finns det något sätt att göra debuggutskrifter?

    {gårdagens range ska vara mer än dubbelt så stor som genomsnittet för de 20 dagarna före det}
    length := 20
    Ddiff := AREF(SUB(H,L),length+2)
    avg := REF(MOV(Ddiff,length,S),2)
    GT(REF(C,1),MULT(avg,2))

    /hrudelius
    Yondu

  • #2
    Du är på rätt spår, ett par syntaxfel bara. Mellanslag är tex inte tillåtna i en kodrad, däremot mellan rader. Plus och minus kan inte användas heller, det är Add() och Sub()-funktionerna som används istället.

    Så lite rättat:

    length:=20
    Ddiff_igår=aref(sub(h,l),1)
    avg=mov(aref(Ddiff_igår,1),length,s)
    draw(Ddiff_igår,2,baa)
    draw(mult(2,avg),3,rpa)
    gt(Ddiff_igår,mult(2,avg))


    Notera att endast det tilldelade namnet med numeriskt värde behöver :=
    Alla andra villkor kan köras utan kolon och fungerar då som "minnesreferenser". Det blir enklare att koda och snabbare att exekvera.

    Jag lade till ett par Draw()-rader för att rita ut average-kurvan samt gårdagens range, så ser man visuellt hur värdena rör sig. Jag valde att rita dessa i området Analys 1 som man kan öppna med snabbknapp i knapplisten.

    Själva scriptet ritar gröna flaggor vid signal, dvs då gårdagens range är större än average multiplicerat med 2. Man väljer färg och skalning samt ritområde i scripteditor-dialogen.


    Attached Files

    Comment


    • #3
      Aha, jag hade fattat AREF lite fel. Tack!

      /hrudelius
      Yondu

      Comment

      Working...
      X