[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [amibroker] Is it possible to color only certain bars in a price chart based on criteria? Potatosoup; 2. Using Different Background Colors


  • Date: Wed, 13 Jan 2010 10:24:29 -0600
  • From: "Joris M.schuller" <jmschuller@xxxxxxxxxxx>
  • Subject: RE: [amibroker] Is it possible to color only certain bars in a price chart based on criteria? Potatosoup; 2. Using Different Background Colors

PureBytes Links

Trading Reference Links



I presume that by now you looked at the price coloring and gotten a feel of its limitations. Rather than using that approach, I occasionally change the background color. Unfortunately, there is no way (that I know of) to change the background color using a statement like SetChartBkColor(PriceCondition ); So there is a work-around shown below. Again you need a dynamic adjustment, so that you can work with a wide range of financial instruments (Stocks, e-mini, Forex) without having to continuously adjust the parameters.

 

Also there are two band adjustment capabilities: When selecting Rel. Location you use Band Percentages, when selecting Price you adjust the price. Don’t forget to use the Reset All button in the parameter box.

 


//=============Method 2: Using Different Background Colors========================
Title =
EncodeColor(4)+ _DEFAULT_NAME()+";  "+EncodeColor(1) + StrFormat("{{NAME}} - {{INTERVAL}}; {{DATE}}; O=%g, H=%g, L=%g, C=%g (%.1f%%)
{{VALUES}}
", O, H, L, C, SelectedValue( ROC( C, 1 ) ) );
DisplaySel=
ParamToggle("Display","Rel.Location (%)|Price",0);
LVVL=
LowestVisibleValue(L);
HVVH=
HighestVisibleValue(H);
UpperPrice=
round(10000*(LVVL+0.7*(HVVH-LVVL)))/10000; //Forex: Rounding to get rid of annoying 5th digit; Not strictly necessary
LowerPrice=
round(10000*(LVVL+0.3*(HVVH-LVVL)))/10000; //Forex: Rounding to get rid of annoying 5th digit; Not strictly necessary
UPPrice =
Param("UpperBand-Price",UpperPrice,LVVL,HVVH,0.0001);
DNPrice =
Param("LowerBand-Price",LowerPrice,LVVL,HVVH,0.0001);
UP1 =
100;
UP2 =
Param("Upper Band-Bottom (%)",75,0,100,1);
DN1 =
Param("Lower Band-Top (%)",25,1,100,1);
DN2=
0;  
FillColorTop=
ParamColor("UB Fill Color",colorLightYellow);
FillColorBottom =
ParamColor("LB Fill Color",colorAqua);
FillColorBkGnd =
ParamColor("BkGnd Fill Color",colorTan);
Plot(C,"",1,64);
Plot(50,"",6, ParamStyle("Line Style",styleLeftAxisScale|styleNoLabel+styleDashed ));
if(DisplaySel) //Adjust with Price
{
UP2= (UPPrice -LVVL)/(HVVH-LVVL)*
100;
DN1= (DNPrice -LVVL)/(HVVH-LVVL)*
100;
Plot(UPPrice ,"UpperBandPrice ",FillColorTop,13);
Plot(DNPrice ,"LowerBandPrice ",FillColorBottom ,13);
PlotOHLC( UP1,UP1,50,UP1, "", FillColorTop, styleLeftAxisScale|styleNoLabel |styleCloud | styleClipMinMax, DN1,UP2 );
PlotOHLC( DN2,DN2,50,DN2, "", FillColorBottom , styleLeftAxisScale|styleNoLabel |styleCloud | styleClipMinMax, DN1, UP2 );
}
if(!DisplaySel) //Adjust with Relative location (% of Total Visible range)
{
UPPrice = LVVL+UP2*(HVVH-LVVL)/
100;
DNPrice = LVVL+DN1*(HVVH-LVVL)/
100;
Plot(UPPrice ,"UpperBandPrice ",FillColorTop,13);
Plot(DNPrice ,"LowerBandPrice ",FillColorBottom ,13);
PlotOHLC( UP1,UP1,50,UP1, "", FillColorTop, styleLeftAxisScale|styleNoLabel |styleCloud | styleClipMinMax, DN1,UP2 );
PlotOHLC( DN2,DN2,50,DN2, "", FillColorBottom , styleLeftAxisScale|styleNoLabel |styleCloud | styleClipMinMax, DN1, UP2 );
}
SetChartBkColor(FillColorBkGnd );

 

 

From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Potato Soup
Sent: Thursday, December 31, 2009 6:51 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] Is it possible to color only certain bars in a price chart based on criteria?

 

 

Say if I want all bars that are between a certain range to be red and the rest blue, or something like that. Is that possible in AB?

 

 



__._,_.___


**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/





Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

GIF image

GIF image