Help required for Market Profile AFL

#12
Amit,

This code works much better.... please try it. posting it with due respect to the original afl writer.

//-----------------------------------------------------------------
_SECTION_BEGIN("MPNEW");
PlotOHLC(O,H,L,C,"Price",IIf(C>O,colorGreen,colorRed),styleCandle);

Den = Param("Density", 1, 0.1, 10, 0.1);
percent=Param("Value Area", 70, 1, 100, 1);
Type=ParamList("Type","Price Profile|Volume Profile");
ViewTPOCount= ParamToggle("Show TPO Count", "No|Yes",1);

EnMP2= ParamList("MarketProfile","Solid|Lines");
styleLines = ParamStyle("Style", styleLine, maskAll);

Period= ParamList("Base","Hourly|Daily|Weekly|Monthly",1);

if(Period=="Hourly"){
BarsInDay = BarsSince(Hour() != Ref(Hour(), -1));Bot = TimeFrameGetPrice("L", inHourly, 0);Top = TimeFrameGetPrice("H", inHourly, 0);Vol = TimeFrameGetPrice("V", inHourly, 0);
}

if(Period=="Daily" OR Interval()==3600){
BarsInDay = BarsSince(Day() != Ref(Day(), -1));Bot = TimeFrameGetPrice("L", inDaily, 0);Top = TimeFrameGetPrice("H", inDaily, 0);Vol = TimeFrameGetPrice("V", inDaily, 0);
}

if(Period=="Weekly" ){
BarsInDay = BarsSince(DayOfWeek() < Ref( DayOfWeek(), -1 ));Bot = TimeFrameGetPrice("L", inWeekly, 0);Top = TimeFrameGetPrice("H", inWeekly, 0);Vol = TimeFrameGetPrice("V", inWeekly, 0);
}

if(Period=="Monthly" OR Interval()==5 * 24 * 3600 OR Interval()==24 * 3600 ){
BarsInDay = BarsSince(Month() != Ref(Month(), -1));Bot = TimeFrameGetPrice("L", inMonthly, 0);Top = TimeFrameGetPrice("H", inMonthly, 0);Vol = TimeFrameGetPrice("V", inMonthly, 0);
}

relTodayRange = 0;
x=0;
basey=0;
basex=0;
newday=0;
total=0;
shiftup=0;
shiftdn=0;
Line=Null;
Voloumeunit=0;


Range = (Top-Bot);
FirstVisibleBar = Status( "FirstVisibleBar" );
Lastvisiblebar = Status( "LastVisibleBar" );


for ( i = FirstVisibleBar; i <Lastvisiblebar AND i<BarCount-1; i++ )
{
if(BarsInDay==0)
{

//////////////////////////////////
poc=0;pocj=0;
midrange = int(relTodayRange/2)+1;


for (j=1; j<= relTodayRange+1 ; j++)
{
if(poc < x[j])
{
poc=x[j]; pocj=j;}
else if(poc == x[j])
{
if (abs(midrange-j)< abs(midrange-pocj)){
poc = x[j]; pocj = j;
}
}

}

for ( n = 1; n <= relTodayRange; n++ )
{
total[n]=x[n]+total[n-1];
}

Value_area=(total[relTodayRange]*percent)/100;


for ( a = 1; a <= relTodayRange; a++ )
{
if(pocj-a>0 AND pocj+a<relTodayRange)
{
if(poc+total[pocj+a]-total[pocj]+(total[pocj]-poc)-total[pocj-(a+1)]>=Value_area) {shiftup=a; shiftdn=a; break;}
}
else if(pocj-a<1 )
{
if(poc+total[pocj+a]-total[pocj]+(total[pocj]-poc)>=Value_area){shiftup=a; shiftdn=pocj; break;}
}
else if(pocj+a>relTodayRange )
{
if(poc+total[relTodayRange]-total[pocj]+(total[pocj]-poc)-total[pocj-(a+1)] >=Value_area){shiftup=floor(relTodayRange)-pocj; shiftdn=a+1; break;}
}
}

Vah = LineArray(baseX, baseY+(pocj+shiftup)*den, i, baseY+(pocj+shiftup)*den);
Val = LineArray(baseX, baseY+(pocj-shiftdn)*den, i, baseY+(pocj-shiftdn)*den);
pocline=LineArray(basex,basey+pocj*den,i,basey+pocj*den);

Vahn = LineArray(i, baseY+(pocj+shiftup)*den, BarCount, baseY+(pocj+shiftup)*den);
Valn = LineArray(i, baseY+(pocj-shiftdn)*den, BarCount, baseY+(pocj-shiftdn)*den);

StaticVarSet("Vahn",Vahn);
StaticVarSet("Valn",Valn);

Plot(pocline,"",ParamColor("Color_POC_Line",colorYellow),styleLine|styleNoRescale);
Plot(Vah,"",ParamColor("Color_VAH_Line", colorBlueGrey),styleLine|styleNoRescale);
Plot(Val,"",ParamColor("Color_VAL_Line", colorBlueGrey),styleLine|styleNoRescale);

PlotText(""+(basey+pocj*den),baseX,basey+pocj*den,colorBlack,colorWhite);
PlotText(""+(baseY+(pocj+shiftup)*den),baseX,baseY+(pocj+shiftup)*den,colorBlack,colorWhite);
PlotText(""+(baseY+(pocj-shiftdn)*den),baseX,baseY+(pocj-shiftdn)*den,colorBlack,colorWhite);


for (p = 0; p <= relTodayRange+1; p++)
{
if(P>0){
line = LineArray(baseX, baseY+p*Den, baseX+x[p], baseY+p*Den);
line2 = LineArray(baseX, baseY+(p-1)*Den, baseX+x[p-1], baseY+(p-1)*Den);

if (EnMP2 == "Solid"){
PlotOHLC( Line, Line, Line2, Line2, "",IIf(p>(pocj+shiftup),ParamColor("Color_Above_VA", colorGrey40),IIf(p<=(pocj+shiftup)AND p>(pocj-shiftdn),ParamColor("Color_VA", colorBlueGrey),ParamColor("Color_Below_VA", colorGrey40))) ,styleCloud|styleNoRescale|styleNoLabel);
}
}
if (EnMP2 == "Lines"){
Plot(line,"",IIf(p>(pocj+shiftup),ParamColor("Color_Above_VA", colorGrey40),IIf(p<=(pocj+shiftup)AND p>=(pocj-shiftdn),ParamColor("Color_VA", colorBlueGrey),ParamColor("Color_Below_VA", colorGrey40))) , styleLines|styleNoLabel);
}
}



//===============


//================
///////////////////

basex=0;
x=0;
Basex=i;
baseY=Bot;
relTodayRange=Range/Den;
Voloumeunit=Vol/LastValue(BarsInDay);

}

for (j=0; j<= relTodayRange ; j++)
{
if (L <= Bot+j*Den AND H >= Bot+j*Den )
{
if(Type=="Price Profile"){x[j]=x[j]+1;}
else if(Type=="Volume Profile"){x[j]=x[j]+round(V/Voloumeunit);}
}
}
}


//////////////////////////////////
poc=0;pocj=0;
midrange = int(relTodayRange/2)+1;

for (j=1; j<= relTodayRange+1 ; j++)
{
if(poc < x[j])
{
poc=x[j]; pocj=j;}
else if(poc == x[j])
{
if (abs(midrange-j)< abs(midrange-pocj)){
poc = x[j]; pocj = j;
}
}

}

for ( n = 1; n <= relTodayRange; n++ )
{
total[n]=x[n]+total[n-1];
}

Value_area=(total[relTodayRange]*percent)/100;


for ( a = 1; a <= relTodayRange; a++ )
{
if(pocj-a>0 AND pocj+a<relTodayRange)
{
if(poc+total[pocj+a]-total[pocj]+(total[pocj]-poc)-total[pocj-(a+1)]>=Value_area) {shiftup=a; shiftdn=a; break;}
}
else if(pocj-a<1 )
{
if(poc+total[pocj+a]-total[pocj]+(total[pocj]-poc)>=Value_area){shiftup=a; shiftdn=pocj; break;}
}
else if(pocj+a>relTodayRange )
{
if(poc+total[relTodayRange]-total[pocj]+(total[pocj]-poc)-total[pocj-(a+1)] >=Value_area){shiftup=floor(relTodayRange)-pocj; shiftdn=a+1; break;}
}
}

Vah = LineArray(baseX, baseY+(pocj+shiftup)*den, i, baseY+(pocj+shiftup)*den);
Val = LineArray(baseX, baseY+(pocj-shiftdn)*den, i, baseY+(pocj-shiftdn)*den);
pocline=LineArray(basex,basey+pocj*den,i,basey+pocj*den);

Plot(pocline,"",ParamColor("Color_POC_Line",colorYellow),styleLine|styleNoRescale);
Plot(Vah,"",ParamColor("Color_VAH_Line", colorBlueGrey),styleLine|styleNoRescale);
Plot(Val,"",ParamColor("Color_VAL_Line", colorBlueGrey),styleLine|styleNoRescale);

PlotText(""+(basey+pocj*den),baseX,basey+pocj*den,colorBlack,colorWhite);
PlotText(""+(baseY+(pocj+shiftup)*den),baseX,baseY+(pocj+shiftup)*den,colorBlack,colorWhite);
PlotText(""+(baseY+(pocj-shiftdn)*den),baseX,baseY+(pocj-shiftdn)*den,colorBlack,colorWhite);



for (p = 0; p <= relTodayRange+1; p++)
{
line = LineArray(baseX, baseY+p*Den, baseX+x[p], baseY+p*Den);
if (EnMP2 == "Lines")
{
Plot(line,"",IIf(p>(pocj+shiftup),ParamColor("Color_Above_VA", colorGrey40),IIf(p<=(pocj+shiftup)AND p>=(pocj-shiftdn),ParamColor("Color_VA", colorBlueGrey),ParamColor("Color_Below_VA", colorGrey40))) , styleLines|styleNoLabel);
}
if (EnMP2 == "Solid")
if(P>0){
line2 = LineArray(baseX, baseY+(p-1)*Den, baseX+x[p-1], baseY+(p-1)*Den);
{
PlotOHLC( Line, Line, Line2, Line2, "",IIf(p>(pocj+shiftup),ParamColor("Color_Above_VA", colorGrey40),IIf(p<=(pocj+shiftup)AND p>(pocj-shiftdn),ParamColor("Color_VA", colorBlueGrey),ParamColor("Color_Below_VA", colorGrey40))) ,styleCloud|styleNoRescale|styleNoLabel);
}

}
}

_SECTION_END();

Plot(StaticVarGet("vahn"),"",colorWhite,styleLine);
Plot(StaticVarGet("valn"),"",colorWhite,styleLine);

DayO = TimeFrameGetPrice("O", inDaily); // current day open

Vah1=StaticVarGet("vahn");
Val1=StaticVarGet("valn");
// mp rules here ajax
P80B = DayO<VaL1 AND Cross(Ref(C,-1),VAL1) AND O>VAL1 AND TimeNum()<=100000 ;
P80S = DayO>VaH1 AND Cross(VAH1,Ref(C,-1)) AND O<VAH1 AND TimeNum()<=100000 ;
PlotShapes(IIf(P80B,shapeDigit8,shapeNone),colorBrightGreen,0,L,-10);
PlotShapes(IIf(P80S,shapeDigit8,shapeNone),colorRed,0,H,10);

Buy = P80B;
Sell = Cross(H,VaH1);
Short = P80S;
Cover = Cross(VaL1,L);

Filter = P80B OR P80S;

Color = IIf(P80B,colorGreen,colorRed);
AddColumn(VAH,"VAH",1.0,colorWhite,Color);

AddColumn(IIf(P80B,1,IIf(P80S,-1,Null)),"80 rule",1.0,colorWhite,Color);
//PlotShapes(IIf(DayO<VaL1 AND BuyLq,shapeDigit9,shapeNone),colorGreen,0,L,-10);
//PlotShapes(IIf(DayO>VaH1 AND SellHq,shapeDigit9,shapeNone),colorRed,0,H,10);

Buy_HL = DayO < VAH1 AND DayO > VAL1 AND Cross(L,VAL1);
Sell_HL = DayO < VAH1 AND DayO > VAL1 AND Cross(VAH1,H);
//PlotShapes(IIf(Buy_HL,shapeDigit1,shapeNone),colorGreen,0,L,-10);
//PlotShapes(IIf(Sell_HL,shapeDigit1,shapeNone),colorRed,0,H,10);

Buy_HL = DayO < VAH1 AND DayO > VAL1 AND Cross(L,VAL1);
Sell_HL = DayO < VAH1 AND DayO > VAL1 AND Cross(VAL1,C);
//PlotShapes(IIf(Buy_HL,shapeDigit2,shapeNone),colorGreen,0,L,-10);
//PlotShapes(IIf(Sell_HL,shapeDigit2,shapeNone),colorRed,0,H,10);
//----------------------------------------------------------------------
 

amitrandive

Well-Known Member
#13
Amit,

This code works much better.... please try it. posting it with due respect to the original afl writer.

//-----------------------------------------------------------------
_SECTION_BEGIN("MPNEW");
PlotOHLC(O,H,L,C,"Price",IIf(C>O,colorGreen,colorRed),styleCandle);

Den = Param("Density", 1, 0.1, 10, 0.1);
p
}

_SECTION_END();

Plot(StaticVarGet("vahn"),"",colorWhite,styleLine);

V
//PlotShapes(IIf(Buy_HL,shapeDigit2,shapeNone),colorGreen,0,L,-10);
//PlotShapes(IIf(Sell_HL,shapeDigit2,shapeNone),colorRed,0,H,10);
//----------------------------------------------------------------------
sreeJi

Thank you very much.This AFL is very lite and really works better.
:clap::clap::clap:
 

mastermind007

Well-Known Member
#14
Dear All

Below is a Market profile AFL taken from the thread
http://www.traderji.com/advanced-trading-strategies/93950-my-trading-strategies-2.html#post968820

This AFL shows warning 502 for reducing the number of calls.Tried everything mentioned on that post,but max chart is visible for 2 days only.After that the same error occurs.

How do I get it to show a chart like attached?
Please advise.



Code:
_SECTION_BEGIN("MarketProfile");
//------------------------------------------------------------------------------

PlotOHLC(O,H,L,C,"Price",IIf(C>O,colorGreen,colorRed),styleCandle);

EnMP2= ParamList("MarketProfile","Solid|Lines|Letters");
Type=ParamList("Type","Price Profile|Volume Profile");
Period= ParamList("Base","Hourly|Daily|Weekly|Monthly",1);

Den = Param("Density", 1, 0.25, 100, 0.25); // Resolution in terms of $
percent=Param("Value Area", 70, 1, 100, 1);
ViewPOC = ParamToggle("Show POC", "No|Yes",1);
Colorpoc=ParamColor("Color POC", colorYellow);
EnIB = ParamToggle("Show Initial Balance", "Yes|No");
IBBars = Param("Initial Balance Bars", 2, 0, 10, 1);

if(Period=="Daily"){
BarsInDay = BarsSince(Day() != Ref(Day(), -1));
Bot = TimeFrameGetPrice("L", inDaily, 0);
Top = TimeFrameGetPrice("H", inDaily, 0);
Vol = TimeFrameGetPrice("V", inDaily, 0);
}

if(Period=="Hourly"){
BarsInDay = BarsSince(Hour() != Ref(Hour(), -1));
Bot = TimeFrameGetPrice("L", inHourly, 0);
Top = TimeFrameGetPrice("H", inHourly, 0);
Vol = TimeFrameGetPrice("V", inHourly, 0);
}

if(Period=="Weekly"){
BarsInDay = BarsSince(DayOfWeek() < Ref( DayOfWeek(), -1 ));
Bot = TimeFrameGetPrice("L", inWeekly, 0);
Top = TimeFrameGetPrice("H", inWeekly, 0);
Vol = TimeFrameGetPrice("V", inWeekly, 0);
}

if(Period=="Monthly" ){
BarsInDay = BarsSince(Month() != Ref(Month(), -1));
Bot = TimeFrameGetPrice("L", inMonthly, 0);
Top = TimeFrameGetPrice("H", inMonthly, 0);
Vol = TimeFrameGetPrice("V", inMonthly, 0);
}

CurTop = HHV(H,BarsInDay+1);
Curbot = LLV(L,BarsInDay+1);
Range = Highest(Top-Bot);
TodayRange = Top - Bot;

AveRange = Sum(Top-Bot,30)/30;
LAveRange = AveRange[BarCount-1];

// Initialization
baseX = 0;
baseY = floor(Bot[0]/Den)*Den;
relTodayRange = 0;
firstVisBar = Status("firstvisiblebar");
lastVisBar = Status("lastvisiblebar");

D=.0005;
total=0;
shiftup=0;
shiftdn=0;
startr=0;

for (j=0; j <= 100; j++) {
x[j] = 0;
}

i0 = 0;
i1 = 0;
for (i=0; i<BarCount; i++) {
if (BarsInDay[i] == 0 AND i < firstVisBar) {
i0 = i;
}
if (BarsInDay[i] == 0 AND i >= lastVisBar) {
i1 = i;
}
}

i1 = BarCount-1;
for (i=i0; i<=i1; i++) {
if (BarsInDay[i] == 0) {
baseX = i;
baseY = floor(Bot[i]/Den)*Den;
maxY = floor(Top[i]/Den)*Den;
relTodayRange = (maxY-baseY)/Den;

for (j=0; j <= relTodayRange; j++) {
x[j] = 0;
}
}

range_x=lastVisBar-firstVisBar;
spread = Param("X Space", 80, 1, 200, 1);
tpl = Param("Time Per Letter (mins)", 30, 1, 360, 1);
Intervalmin=Interval()/60;
flt =Param("First Letter (Bars)", 1, 1, 60, 1);
teb=ParamToggle("To Each Bar","No|Yes");
Color=Param("Color Threshold",20,1,50,1);
stopg=0;
stopr=0;
new=0;

Voloumeunit=Vol[i]/LastValue(BarsInDay);


if (EnMP2 == "Letters") {
for (j=0; j<= relTodayRange; j++) {
if (L[i] <= baseY+j*Den AND H[i] >= baseY+j*Den AND BarsInDay[i]==0 AND stopg==0) {startg=j; stopg=1;}
if (L[i] <= baseY+j*Den AND H[i] >= baseY+j*Den AND BarsInDay[i]==0) {startr=j;}
if (L[i] <= baseY+j*Den AND H[i] >= baseY+j*Den) {
PlotText(StrExtract(" A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z, a , b , c , d , e , f , g , h , i , j , k , L , m , n ,o , p , q , r , s , t , u , v , w , x , y , z ",
IIf(BarsInDay[i]<flt,0,ceil(BarsInDay[i]/(tpl/Intervalmin))-0)), baseX+IIf(teb==1,BarsInDay[i],x[j]*(range_x/spread)), baseY+j*Den, 
IIf(BarsInDay[i]==0,IIf(C[i]>O[i],IIf(j==startg,colorWhite,colorWhite),IIf(j==startr,colorWhite,colorWhite)),colorWhite),ColorHSB(10+ ((ceil(BarsInDay[i]/(tpl/Intervalmin)))*Color),160,140));
x[j]++;

}
}
}

else if (EnMP2 == "Lines" OR EnMP2 == "Solid") {
for (j=0; j<= relTodayRange; j++) {
if (L[i] <= baseY+j*Den AND H[i] >= baseY+j*Den) {
if(Type=="Price Profile"){x[j]=x[j]+1;}
else if(Type=="Volume Profile"){x[j]=x[j]+round(V[i]/Voloumeunit);}

}
}
} 

// Draw Initial Balance after 11am bar is complete
if (BarsInDay[i] == IBBars+1 AND EnIB == 0) {
Line1 = LineArray(i-2, curtop[i-1],i+7, curtop[i-1],0,True);
Plot(Line1,"",colorLightGrey,styleLine+styleDashed |styleNoRescale);
Line1 = LineArray(i-2, curbot[i-1],i+7, curbot[i-1],0,True);
Plot(Line1,"",colorLightGrey,styleLine+styleDashed |styleNoRescale);
}

// Examine x[j]
if ((i < BarCount - 1 AND BarsInDay[i+1] == 0) OR i == BarCount-1) {
maxXj = 0;
maxj = 0;
for (j=0; j<= relTodayRange; j++) {
if (maxXj < x[j]) {maxXj = x[j]; maxj = j; StaticVarSet("Maxj",j); new=j;
}
}
for ( n = 1; n <= relTodayRange; n++ ) {
total[n]=x[n]+total[n-1];
}
Value_area=(total[relTodayRange]*percent)/100;

for ( a = 1; a <= relTodayRange; a++ )
{
if(Maxj-a>0 AND Maxj+a<relTodayRange)
{
if(MaxXj+total[Maxj+a]-total[Maxj]+total[Maxj-1]-total[Maxj-(a+1)]>=Value_area) {shiftup=a; shiftdn=a; break;}
}	
else if(Maxj-a<1 ) 
{
if(MaxXj+total[Maxj+a]-total[Maxj]+total[Maxj-1]>=Value_area){shiftup=a; shiftdn=maxj-1; break;}	
}
else if(Maxj+a>relTodayRange ) 
{
if(MaxXj+total[relTodayRange]-total[Maxj]+total[Maxj-1]-total[Maxj-(a+1)] >=Value_area){shiftup=relTodayRange-maxj; shiftdn=a; break;}	
}
}

Vah = LineArray(baseX, baseY+(maxj+shiftup)*Den, i, baseY+(maxj+shiftup)*Den,0,True);
Val = LineArray(baseX, baseY+(maxj-shiftdn)*Den, i, baseY+(maxj-shiftdn)*Den,0,True);
poc = LineArray(baseX, baseY+maxj*Den, i, baseY+maxj*Den,0,True);
Plot(Vah,"",ParamColor("Color_VA", colorPink),styleLine|styleDots|styleNoRescale);
Plot(Val,"",ParamColor("Color_VA", colorPink),styleLine|styleDots|styleNoRescale);
if(ViewPOC==1){Plot(poc,"",Colorpoc,styleLine|styleNoRescale);}
PlotText(""+(baseY+(maxj+shiftup)*Den),i-5,baseY+(maxj+shiftup)*Den,colorWhite);
PlotText(""+(baseY+(maxj-shiftdn)*Den),i-5,baseY+(maxj-shiftdn)*Den,colorWhite);

if(ViewPOC==1){PlotText(""+(baseY+maxj*Den),i-5,baseY+maxj*Den,Colorpoc);}
}

if (i < BarCount - 1 AND BarsInDay[i+1] == 0 OR i == BarCount-1) {

for (p = 1; p < relTodayRange+1; p++)
{
line = LineArray(baseX, baseY+p*Den, baseX+x[p], baseY+p*Den);
line2 = LineArray(baseX, baseY+(p-1)*Den, baseX+x[p-1], baseY+(p-1)*Den);

if (EnMP2 == "Solid")
{
PlotOHLC( Line, Line, Line2, Line2, "",IIf(p>(maxj+shiftup),ParamColor("Color_VAH" , colorLavender),IIf(p<=(maxj+shiftup)AND p>(maxj-shiftdn),ParamColor("Color_VA", colorLightBlue),ParamColor("Color_VAL", colorLavender))) ,styleCloud|styleNoRescale|styleNoLabel);
}
if (EnMP2 == "Lines") 
{
Plot(line,"",IIf(p>(maxj+shiftup),ParamColor("Colo r_VAH", colorLavender),IIf(p<=(maxj+shiftup)AND p>(maxj-shiftdn),ParamColor("Color_VA", colorLightBlue),ParamColor("Color_VAL", colorLavender))) , styleLine);
} 
}
} 
}
IMHO, You get this error usually because you call Plot function inside a loop.

Plot cannot be called inside the loop because it works on array. PlotText can be called inside or outside the loop but if you call it outside the loop, you must pass it a value, not an array

You need to restructure the code.

I am even unable to understand what you are trying to achieve with this code, so some explanation would be nice
 
Last edited:

amitrandive

Well-Known Member
#15
IMHO, You get this error usually because you call Plot function inside a loop.

Plot cannot be called inside the loop because it works on array. PlotText can be called inside or outside the loop but if you call it outside the loop but in both cases, you must pass it a value, not an array

You need to restructure the code.

I am even unable to understand what you are trying to achieve with this code, so some explanation would be nice
mastermind

This strategy is explained in the thread
http://www.traderji.com/advanced-trading-strategies/93950-my-trading-strategies.html#post968433

Also the AFL posted by Sree works.
 

mastermind007

Well-Known Member
#16
Last edited:

amitrandive

Well-Known Member
#17
No, AFL posted by Sree also has same exact flaw and I am not certain why but it works for scrips that have CMPs below 100Rs. I tried for WABAG and AKZOINDIA and it was giving the same error.
I removed the text of the prices from the plot.
Now the lines are visible after zooming out.
 
#20
I removed the text of the prices from the plot.
Now the lines are visible after zooming out.
Dear Amit,

I am novice to AFL coding.

Can you advise how to remove the text of the prices from the plot

Thanx
 

Similar threads