Data: 2011-02-20 16:19:37 | |
Autor: Endriu | |
Rysowanie lini wyznaczaj?cej poziom - AFL. | |
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/8a2daeb63c15b8c2.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/087d91e5e026ce12.html Rozumiem, że należało by wykorzystać Line Array: http://www.amibroker.com/guide/afl/afl_view.php?id=250 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/ |
|
Data: 2011-02-20 23:19:09 | |
Autor: Architekt | |
Rysowanie lini wyznaczaj?cej poziom - AFL. | |
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 |
|
Data: 2011-02-21 08:03:04 | |
Autor: Endriu | |
Rysowanie lini wyznaczaj?cej poziom - AFL. | |
MaxOstMiesiaca=TimeFrameGetPrice("H",1*inMonthly,0); Jeżeli ValueWhen miałoby "aktualizować" MaxOstMiesiaca to chyba nie działa tak jak trzeba... http://www.fotosik.pl/pokaz_obrazek/pelny/23d42696d258527a.html -- Pozdrawiam Endriu http://drendriu.ovh.org/ |
|
Data: 2011-02-21 08:32:40 | |
Autor: Endriu | |
Rysowanie lini wyznaczaj?cej poziom - AFL. | |
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/ |
|
Data: 2011-02-21 21:13:13 | |
Autor: Endriu | |
Rysowanie lini wyznaczaj?cej poziom - AFL. | |
x0=ValueWhen( Cross(Maxostmiesiaca,H), 1); Jakby ten ValueWhen zamienić na jakiś taki "ThickWhen" - dobrze kombinuję ..... ?. -- Pozdrawiam Endriu http://drendriu.ovh.org/ |
|
Data: 2011-03-05 22:30:13 | |
Autor: Endriu | |
Rysowanie lini wyznaczaj?cej poziom - AFL. | |
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/ |
|