Válasz erre: Zigzag 2012-12-29T00:38:32+00:00

Radu.hu Fórum Egyéb Zigzag Válasz erre: Zigzag

Radulovic Attila
Tag
Bejegyzések száma: 637

Igen, az iCustom függvényt kell használnod. Azonban a HighMapBuffer és LowMapBuffer -nek semmi köze ehhez a lekérdezéshez, hiszen ezek az indikátor kódjában lévő tömbök. Az expertedben ezekre semmi szükség nincsen.

Az iCustom utolsó paramétere azt adja meg, hogy hányadik gyertyához tartozó indikátori értéket szeretnéd lekérdezni, míg az utolsó előtti azt hogy melyik bufferből. A ZigZag indikátornak egy darab buffere van, így az utolsó előtti szám mindig nulla legyen (nullától indul az indexelés).

Az utolsó szám esetében pedig a nulla az éppen aktuális, mozgó gyertyát jelöli (azaz az érték változhat), az 1-es az első lezárt gyertyát, a 2-es a másodikat, stb.

A csúcs-völgy megállapításhoz egy ciklusban kell lekérdezned az értékeket:
1) megkeresed az első olyan adatpontot, amelyik már lezárt gyertyához tartozik (vagyis a múltban nem fog már módosulni – vigyázz, mert neked a második adatpont kell a múltban!)
2) ezt az adatpontot elrakod (mondjuk egy tömbbe), és az előtte lévőt is kikeresed. Ha az előtte lévő nagyobb mint ő, akkor visszafelé az első kialakult adatpont egy völgy, míg az előtte lévő egy csúcs, és így tovább. A példánál maradva az éppen mozgó adatpontunk lehet a 2. lezárt gyertyához tartozó is, aztán hirtelen módosul és a nulladik gyertyához fog tartozni csak éppen lejjebb / feljebb

A fentiek megoldása során el lehet szöszmötölni, de alapvetően szerintem így érdemes elkezdeni vele foglalkozni.