Allmänt meddelande

Collapse
No announcement yet.

Flagga endast i första perioden.

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

  • Flagga endast i första perioden.

    Hej Lasse!

    Jag har ett intradayscript som ofta rita flaggor några perioder i följd, men jag vill endast ha flagga i första perioden av en serie när scriptet blir sant. Jag har följande exempel.

    sig1=……
    sig2=……
    sig3=or(sig1,sig2)

    För att endast få flagga ”första” gången detta blir sant har jag skrivit.

    mult(and(sig3,NOT(aref(sig3,1))),15)
    eller
    mult(and(sig3,lt(sum(sig3,2),2)),15)

    Båda dessa skrivsätten blir NÄSTAN alltid rätt men inte alltid. Det händer nämligen någon gång att flaggor utelämnas. Varför?

    Om jag låter rita flagga vid varje period och skriver endast mult(sig3,15) så ritas alltid en flagga på rätt ställe. Kan du ha någon förklaring på detta eller finns kanske felen i ”defekta data” hos mig?

    Finns det några bättre upplägg för att lättare åstadkomma det jag vill?

    Åke

  • #2
    Principen borde vara ofelbar om man kollar att det verkligen varit någon av sig1 eller sig 2 i perioden ifråga, och inte någon i förgående period.

    Det jag tänker på först är att det skulle vara något regelvidrigt i scriptet som gör att det verkar funka bara.

    Saker jag tänker på:

    1. Att intradayprefix(om sådant finns) förekommer första gången före första raden med enbart likhetstecken.

    2. Att inga tilldelade namn med := rader får definieras efter första raden med enbart likhetstecken.

    Att använda tidigare definierade tilldelade namn är dock ok.

    3. Helst bör alla rader utom sista då man använder minnesreferenser ha en destination dvs ett likhetstecken och ett namn som är unikt för radens variabel(minnesreferens som jag kallat det).

    Det är väl några saker att kolla på.

    Comment

    Working...
    X