Rajandran R Founder of Marketcalls and Co-Founder Algomojo. Full-Time Derivative Trader. Expert in Designing Trading Systems (Amibroker, Ninjatrader, Metatrader, Python, Pinescript). Trading the markets since 2006. Mentoring Traders on Trading System Designing, Market Profile, Orderflow and Trade Automation.

Colour Changing Candlesticks

40 sec read

Here is a simple demonstration about how to vary the color of the according to our strategy. For demo purpose i had used the ADX Indicator which uses positive and
negative directional indicators +DI and -DI and in amibroker terms it is represented as PDI() and MDI(). And we are not going to concentrate on ADX in this demo.


 
Sample code is shown below

_SECTION_BEGIN(“Price”);
_N(Title = StrFormat(“{{NAME}} – {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g,
Close %g (%.1f%%) Vol ” +WriteVal( V, 1.0 ) +” {{VALUES}}”, O, H, L, C ));
range = Param(“Periods”, 14, 2, 200, 1 );
SetChartOptions(0,chartShowArrows|chartShowDates);
Plot( C, “Close”, IIf( PDI(range) > MDI(range), ParamColor(“Up Color”, colorGreen ),
ParamColor(“Down Color”, colorRed )), styleNoTitle | ParamStyle(“Style”) | GetPriceStyle() );
_SECTION_END();

A green candle will be plotted if +DI is greater than -DI which denotes Uptrend and Red candle will be plotted if +DI is lesser than -DI which denotes downtrend and the following code does all the magic in toggling the colors of the candle.

Plot( C, “Close”, IIf( PDI(range) > MDI(range), ParamColor(“Up Color”, colorGreen ),
ParamColor(“Down Color”, colorRed )), styleNoTitle | ParamStyle(“Style”) | GetPriceStyle() );

Rajandran R Founder of Marketcalls and Co-Founder Algomojo. Full-Time Derivative Trader. Expert in Designing Trading Systems (Amibroker, Ninjatrader, Metatrader, Python, Pinescript). Trading the markets since 2006. Mentoring Traders on Trading System Designing, Market Profile, Orderflow and Trade Automation.

[Free Course] Mini Certification on Amibroker AFL Programming

Interested in getting to know the basics of Amibroker AFL Programming then here is a free live training course to access hands-on training on...
Rajandran R
53 sec read

Smart Button Trading Module – Trade Automation – Amibroker…

This Algomojo Button trading module provides 4 modes of the button to place orders with a single click directly from Amibroker using simple smart...
Rajandran R
4 min read

AlphaTrend – Amibroker AFL Code to Manage Sideways Markets

Very simple and interesting trend following strategy which could manage sideways markets to a greater extent while following the trend. Recently I got inspired...
Rajandran R
3 min read

6 Replies to “Colour Changing Candlesticks”

  1. hi raj sir

    i hope u must on holiday keep it to maximum sir

    but i do urge to post one note of afl regarding how to use AUX1 n AUX2 on charts, scan and exploration in whole as an array in amibroker 5.30 as i searched alot for it but didnt found any solution to it and many people i think must be searching for it
    and thomas provided that by using OLE language, COM or addtocomposite we can access it.
    but i tried it far as could but not able to make it
    plz sir due luk at it when u get back from holiday
    GOD BLESS U!

    regards
    ankit

  2. Sir

    I copied the code given on this page (http://www.marketcalls.in/afl-code/colour-changing-candlesticks.html) exactly as it is

    But it is showing error.

    Pl help me.

    This is what my code looks like :-

    _SECTION_BEGIN(“Price”);
    _N(Title = StrFormat(“{{Name}} – {{Interval}} {{Date}} Open %g, Hi %g, Lo %g,
    Close %g (%.1f%%) Vol ” +WriteVal( V, 1.0 ) +” {{VALUES}}”, O, H, L, C ));
    range = Param(“Periods”, 14, 2, 200, 1 );
    SetChartOptions(0,chartShowArrows|chartShowDates);
    Plot( C, “Close”, IIf( PDI(range) > MDI(range), ParamColor(“Up Color”, colorGreen ),
    ParamColor(“Down Color”, colorRed )), styleNoTitle | ParamStyle(“Style”) | GetPriceStyle() );
    _SECTION_END();

    Plot( C, “Close”, IIf( PDI(range) > MDI(range), ParamColor(“Up Color”, colorGreen ),
    ParamColor(“Down Color”, colorRed )), styleNoTitle | ParamStyle(“Style”) | GetPriceStyle() );

    1. The error is due to formatting of the __*Quotation*__symbols, Change all the quotations symbols manually and re-apply, the error would not show up.

      _SECTION_BEGIN(“Price”);
      _N(Title = StrFormat(“{{NAME}} – {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g,
      Close %g (%.1f%%) Vol ” +WriteVal( V, 1.0 ) +” {{VALUES}}”, O, H, L, C ));
      range = Param(“Periods”, 14, 2, 200, 1 );
      SetChartOptions(0,chartShowArrows|chartShowDates);
      Plot( C, “Close”, IIf( PDI(range) > MDI(range), ParamColor(“Up Color”, colorGreen ),
      ParamColor(“Down Color”, colorRed )), styleNoTitle | ParamStyle(“Style”) | GetPriceStyle() );
      _SECTION_END();

Leave a Reply

Get Notifications, Alerts on Market Updates, Trading Tools, Automation & More