eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plFinanseGrupypl.biznes.wgpw › Rysowanie lini wyznaczającej poziom - AFL.
Ilość wypowiedzi w tym wątku: 6

  • 1. Data: 2011-02-20 15:19:37
    Temat: Rysowanie lini wyznaczającej poziom - AFL.
    Od: "Endriu" <n...@i...pl>

    Ostatnio kolega DJ(Dominik) zapodał kawałek kodu wyznaczający np. maksimum z
    ostatniego miesiąca.
    "Kodowo" wygląda to mniej więcej tak:

    "[...]
    MaxOstMiesiaca=TimeFrameGetPrice("H",1*inMonthly,0);
    Plot(MaxOstMiesiaca,"",colorRed,styleStaircase);
    _SECTION_BEGIN("Price");
    SetChartOptions(0,chartShowArrows|chartShowDates);
    _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo
    %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C,
    1 ) ) ));
    Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle |
    ParamStyle("Style") | GetPriceStyle() );
    _SECTION_END();
    [...]"

    Ja chciałbym sobie troszkę zmodyfikować kodzik, tak aby w/w wykres
    miesięcznych maxów nie wyglądał jako wstęga, którą Amibroker ciągnie od
    poczatku do końca wykresu...:

    http://www.fotosik.pl/pokaz_obrazek/pelny/8a2daeb63c
    15b8c2.html

    ... tylko linią poziomą mającą poczatek w wpunkcie wystąpienia ostatniego
    maksa, a koniec w ostatnim ticku wykresu:

    http://www.fotosik.pl/pokaz_obrazek/pelny/087d91e5e0
    26ce12.html

    Rozumiem, że należało by wykorzystać Line Array:
    http://www.amibroker.com/guide/afl/afl_view.php?id=2
    50

    gdzie y0 i y1 będa równe tyle samo:

    y0=MaxOstMiesiaca=TimeFrameGetPrice("H",1*inMonthly,
    0);
    y1=MaxOstMiesiaca=TimeFrameGetPrice("H",1*inMonthly,
    0);

    Problem w tym, że nie wiem jak zabrać się za "zaczepienie" x0 i x1 ......


    --
    Pozdrawiam
    Endriu
    http://drendriu.ovh.org/



  • 2. Data: 2011-02-20 22:19:09
    Temat: Re: Rysowanie lini wyznaczającej poziom - AFL.
    Od: Architekt <wojciech.filipek*wytnij*@mm.pl>

    Dnia Sun, 20 Feb 2011 16:19:37 +0100, Endriu napisał(a):

    > należało by wykorzystać Line Array:

    należałoby użyć trochę kombinacji podstawowych funkcji.
    na początek:

    MaxOstMiesiaca=TimeFrameGetPrice("H",1*inMonthly,0);
    Plot(ValueWhen(H>=Maxostmiesiaca,Maxostmiesiaca),"",
    colorRed,styleLine);

    _SECTION_BEGIN("Price");
    SetChartOptions(0,chartShowArrows|chartShowDates);
    _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo
    %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) )
    ));
    Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle |
    ParamStyle("Style") | GetPriceStyle() );
    _SECTION_END();

    --
    Pozdrawiam, Wojciech_Filipek
    www.amizone.prv.pl


  • 3. Data: 2011-02-21 07:03:04
    Temat: Re: Rysowanie lini wyznaczającej poziom - AFL.
    Od: "Endriu" <n...@i...pl>

    > MaxOstMiesiaca=TimeFrameGetPrice("H",1*inMonthly,0);
    > Plot(ValueWhen(H>=Maxostmiesiaca,Maxostmiesiaca),"",
    colorRed,styleLine);

    Jeżeli ValueWhen miałoby "aktualizować" MaxOstMiesiaca to chyba nie działa
    tak jak trzeba...

    http://www.fotosik.pl/pokaz_obrazek/pelny/23d42696d2
    58527a.html



    --
    Pozdrawiam
    Endriu
    http://drendriu.ovh.org/



  • 4. Data: 2011-02-21 07:32:40
    Temat: Re: Rysowanie lini wyznaczającej poziom - AFL.
    Od: "Endriu" <n...@i...pl>

    Jeśli mogę to wrzucę taki kawałek kodu:

    "[...]
    MaxOstMiesiaca=TimeFrameGetPrice("H",1*inMonthly,0);
    Plot(MaxOstMiesiaca,"",colorRed,styleStaircase);
    y0=MaxOstMiesiaca;
    y1=y0;
    x0=ValueWhen( Cross(Maxostmiesiaca,H), 1);
    x1=BarCount-1;
    Line = LineArray( x0, y0, x1, y1,0);
    Plot(C, "C", colorWhite, styleCandle);
    Plot( Line, "Trend line", colorBlue );

    _SECTION_BEGIN("Price");
    SetChartOptions(0,chartShowArrows|chartShowDates);
    _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo
    %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C,
    1 ) ) ));
    Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle |
    ParamStyle("Style") | GetPriceStyle() );
    _SECTION_END();

    [...]"

    Wywala błąd na Line array. Jeśli mogę prosić o korektę iw skazanie przyczyny
    wywalania errora...

    --
    Pozdrawiam
    Endriu
    http://drendriu.ovh.org/



  • 5. Data: 2011-02-21 20:13:13
    Temat: Re: Rysowanie lini wyznaczającej poziom - AFL.
    Od: "Endriu" <n...@i...pl>

    > x0=ValueWhen( Cross(Maxostmiesiaca,H), 1);

    Jakby ten ValueWhen zamienić na jakiś taki "ThickWhen" - dobrze kombinuję
    .... ?.


    --
    Pozdrawiam
    Endriu
    http://drendriu.ovh.org/



  • 6. Data: 2011-03-05 21:30:13
    Temat: Re: Rysowanie lini wyznaczającej poziom - AFL.
    Od: "Endriu" <n...@i...pl>

    > Jakby ten ValueWhen zamienić na jakiś taki "ThickWhen" - dobrze kombinuję
    > .... ?.

    Jakby ktoś kiedyś szukał.....

    "
    [...]
    MaxOstRok=HHV(H,290);
    y0= LastValue(MaxOstRok);
    y1= LastValue(MaxOstRok);
    x0= BarCount-LastValue(HHVBars(H, 74))-1;
    x1= BarCount-1;
    Line = LineArray( x0, y0, x1, y1,0);
    Plot( Line, "Max 290", colorBlue );
    _SECTION_BEGIN("Price");
    SetChartOptions(0,chartShowArrows|chartShowDates);
    _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo
    %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C,
    1 ) ) ));
    Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle |
    ParamStyle("Style") | GetPriceStyle() );
    _SECTION_END();

    [...]".


    --
    Pozdrawiam
    Endriu
    http://drendriu.ovh.org/


strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1