-
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/