Point and Figure Charts?

 

Anyone have a "Point and Figure" charts plugin?

It would require all the bells and whistles..

reversal size customization, box size customization, "high/low, or close"

etc.

Anyone know where to get something like this.. or is anyone willing to code this up?

Point and figure could be amazing for forex.

 

bump

bump bump bump bump bump no one has this or wants to code it for everyone?

 
shippy:
bump bump bump bump bump no one has this or wants to code it for everyone?

I'm curious, how long do you suppose it would take to code an indicator that would do all you suggested - 1 hour, 2 hours, 3 hours...? My guess, it would take at least that long. And there you also have your answer - too time consuming! If you really want this coded, there are at least half a dozen coding experts on this forum who will do it for a price. In the meantime, check out the 'marketprofile' indicator.

 

Point&Figure Code

This is AmBroker Formula language . in MQL4 you can not plot in PF style but you can plot it as bars/line.

_____________________________________________

decimals= LastValue(IIf(StrRight(Name(),3) == "JPY", 100, 10000));

Box = Param("Box", 10, 1, 100, 1) /decimals;

Revers = Param("Reverse", 3, 1, 5);

//--------------------------------------

j = 0;

PFL[0] = Box * ceil(Low[0]/Box) + Box;

PFH[0] = Box * floor(High[0]/Box);

direction = 0;

//----------------------------------------

for( i = 1; i < BarCount; i++ )

{

if(direction[j] == 0)

{

if(Low <= PFL[j] - Box)

{

PFL[j] = Box * ceil(Low/Box);

}

else

{

if(High >= PFL[j] + Revers*Box)

{

j++;

direction[j] = 1;

PFH[j] = Box * floor(High/Box);

PFL[j] = PFL[j - 1] + Box;

}

}

}

else

{

if(High >= PFH[j] + Box)

{

PFH[j] = Box * floor(High/Box);

}

else

{

if( Low <= PFH[j] - Revers * Box )

{

j++;

direction[j] = 0;

PFH[j] = PFH[j - 1] - Box;

PFL[j] = Box * ceil(Low/Box);

}

}

}

}

delta = BarCount - j -1;

direction = Ref(direction, - delta);

Hi = Ref(PFH, -delta) + Box/2;

Lo = Ref(PFL, -delta)- Box/2;

Cl = IIf(direction == 1, Hi, Lo);

Op = IIf(direction == 1, Cl - Box, Cl + Box);

PlotOHLC(Op, Hi, Lo, Cl,"", ParamColor("ChartColor",colorLightGrey), stylePointAndFigure|styleNoLabel);

 

Kagi Chart Code

This is the code for AmiBroker but I think it can be easily translated into MQL4:

____________________________________________________________

reverse = Param ("reverse %" ,0.1, 0.1, 1,0.1)/100;

// initialize first element

j = 0;

KC[j] = Close[0];

direction=0;

for( i = 1; i < BarCount-1; i++ )

{

// percent reversal requirement

if(direction[j]==0)

{

if( Close <= KC[j]) //continue down

{

KC[j] = Close;

}

else

{

if( Close >= KC[j]*(1 + Reverse)) //Change direction to up

{

j++;

direction[j] = 1;

KC[j] = Close;

}

}

}

else

{

if( Close >= KC[j]) //Continue up

{

KC[j] = Close;

}

else

{

if( Close <= KC[j]*(1 - Reverse)) //Change direction to down

{

j++;

direction[j]=0;

KC[j] = Close;

}

}

}

}

delta = BarCount - j-1; //shift the chart to the wright

kagi= Ref(kc,-delta);

direction = Ref(direction,-delta);

Color =39;// IIf(kagi>Ref(kagi,-1), colorGreen, colorRed);

Plot(kagi, "", Color, styleStaircase|1024 );

 

Three Line Break

This is the code I wrote for TLB in AFL .

_____________________________________________________________

break = Param("Break", 3, 1, 5, 1);

tc[0]= L[0];

to[0]=H[0];

Line[0]=H[0];

j=0;

direction= 0;

down[0]=0;

up[0]=0;

for (i=1; i<BarCount; i++)

{

if (direction ==0)

{

if( C <tc[j] )

{

j++;

down[j] = down[j-1]+1;

up[j]=0;

tc[j] =C;

to[j]=tc[j-1];

if(down[j]<break)

Line[j] =to[j-1];

else

Line[j] = to[j-break+1] ;

}

else

{

if(C>Line[j])

{

j++;

down[j]=0;

up[j] =up[j-1]+1;

direction =1;

tc[j] =C;

to[j]=to[j-1];

if(break>1)

Line[j] = tc[j-1];

else

Line[j] =to[j];

}

}

}

else

{

if( C >tc[j] )

{

j++;

down[j]=0;

up[j] =up[j-1]+1;

tc[j] =C;

to[j]=tc[j-1];

if(up[j]<break) Line[j] = to[j-1];

else Line[j] = to[j-break+1];

}

else

{

if(C<Line[j] )

{

j++;

up[j]=0;

down[j] = down[j-1]+1;

direction =0;

tc[j] =C;

to[j]=to[j-1];

if(break>1) Line[j] = tc[j-1];

else Line[j] =to[j];

}

}

}

}

delta = BarCount-1 - j;

Cl= Ref(tc,-delta);

Op =Ref(tO,-delta);

PlotOHLC(Op,Cl,Op,Cl,"",colorBlack, styleCandle);

 

This looks like PnF, but thepage is in russian.

https://www.mql5.com/ru/code/9750

Here's Renko https://www.mql5.com/ru/code/9761

Here's Kagi https://www.mql5.com/ru/code/9757

 
apfx:
in MQL4 you can not plot in PF style but you can plot it as bars/line.

correct, but you can simulate X and O with trend and ellipse objects

 

points figures

isn't perfect...

Files:
 
boursicoton:
isn't perfect...

and is possible to translate in easylanguage for tradestation?thanks

 
point-figure:
and is possible to translate in easylanguage for tradestation?thanks

I'm sure it's already translated. Search on TS forum.

Reason: