Better Candle Color code afl

yasu222

Active Member
#1
I need the AFL code candle colours for the below condition -

Up Candle Colour = C>O (Full body with Green Colour)
UpDoji color= C=O and Ref(C,-1)>Ref(O,-1)

Down Candle Color = C<O (Full body with Red Colour)
Down Doji Color = C=O and Ref(C,-1)<Ref(O,-1)

Thanks in advance
 
Last edited:

johnnypareek

Well-Known Member
#2
I need the AFL code candle colours for the below condition -

Up Candle Colour = C>O (Full body with Green Colour)
UpDoji color= C=O and Ref(C,-1)>Ref(O,-1)

Down Candle Color = C<O (Full body with Red Colour)
Down Doji Color = C=O and Ref(C,-1)<Ref(O,-1)

Thanks in advance
Hi,

You can do it from preference menu.

Go to tools>preference>colors

and u can select. try it
 

johnnypareek

Well-Known Member
#3
okay chk this

HTML:
Up  = IIf(C>O,1,0); 
UpDoji = IIf(C==O AND Ref(C,-1)>Ref(O,-1),1,0);

Down  = C<O ;
DownDoji = C==O AND Ref(C,-1)<Ref(O,-1);
SetBarFillColor( IIf(up==1, colorGreen,IIf(updoji,colorGreen ,IIf(down==1,colorRed,IIf(downdoji==1,colorRed,colorBlack )))) ); 


Plot( C, "Price", IIf( C > O, colorGreen, colorRed ), styleCandle ) ;
 

trash

Well-Known Member
#4
okay chk this

HTML:
Up  = IIf(C>O,1,0); 
UpDoji = IIf(C==O AND Ref(C,-1)>Ref(O,-1),1,0);

Down  = C<O ;
DownDoji = C==O AND Ref(C,-1)<Ref(O,-1);
SetBarFillColor( IIf(up==1, colorGreen,IIf(updoji,colorGreen ,IIf(down==1,colorRed,IIf(downdoji==1,colorRed,colorBlack )))) ); 


Plot( C, "Price", IIf( C > O, colorGreen, colorRed ), styleCandle ) ;

Too many IIf conditions that are not needed (IMO) and that slow down codes.
This one does the same and is faster.

Code:
CloseEqualOpen = C == O;

RefC = Ref( C, -1 );
RefO = Ref( O, -1 ); 

Up = C > O;
Down = C < O ;

UpDoji = CloseEqualOpen AND RefC > RefO;
DownDoji = CloseEqualOpen AND RefC < RefO;

SetBarFillColor( IIf( up || updoji, colorGreen, colorRed ) );
Plot( C, "Price", IIf( C > O, colorGreen, colorRed ), styleCandle );
 

trash

Well-Known Member
#6
Code:
dojidiv = Param( "Doji-Divisor", 5, 1, 50, 0.1 );
CloseEqualOpen  = ( High - Low ) / dojidiv > abs( Open - Close );

RefC = Ref( C, -1 );
RefO = Ref( O, -1 ); 

Up = C > O;
Down = C < O ;

UpDoji = CloseEqualOpen AND RefC > RefO;
DownDoji = CloseEqualOpen AND RefC < RefO;

colcond = IIf( up || updoji, colorGreen, colorRed );

SetBarFillColor( colcond );
Plot( C, "Price", colcond, styleCandle );
 

yasu222

Active Member
#9
If the previous candle Up Doji then next doji candle should be Green. Please see the image sir....
dojidiv = Param( "Doji-Divisor", 5, 1, 50, 0.1 );
CloseEqualOpen = ( High - Low ) / dojidiv > abs( Open - Close );

RefC = Ref( C, -1 );
RefO = Ref( O, -1 );

Up = C > O;
Down = C < O ;

UpDoji = CloseEqualOpen AND RefC >= RefO;
DownDoji = CloseEqualOpen AND RefC <= RefO;

colcond = IIf( up || updoji, colorGreen, colorRed );

SetBarFillColor( colcond );
Plot( C, "Price", colcond, styleCandle );
 

Similar threads