need help converting to mql4 - Renko Gap

 


I have built a modified renko indicator that overlays a 1M or range bar chart on ninjatrader. I need some help converting it to mql4.

My renko bars handle gaps. Any help would be appreciated. Here is my attempt but I it wont compile.



private int myInput0 = 8; // Default setting for MyInput0

private bool firstBar = true;

private double renkoHi = 0;

private double renkoLo =0;

private double renkoMid =0;

private double renkoHalf=0;

private double fBar=0;

private bool upBar= false;

private bool gapBar=false;

private double gBar=0;

private int gInt=0;

protected override void OnBarUpdate()

{

if(CurrentBar<10)

{

return;}

if (firstBar== true

)

{ fBar= Close[1];

if (Close[0]>=fBar+(myInput0*TickSize))

{

upBar=true;

firstBar=false;

renkoHi= fBar+(myInput0*TickSize);

renkoLo= renkoHi-(myInput0*TickSize);

renkoMid=renkoLo;

}

if (Close[0]<=fBar-(myInput0*TickSize))

{

upBar=false;

renkoLo= fBar-(myInput0*TickSize);

renkoHi= renkoLo+(myInput0*TickSize);

renkoMid=renkoHi;

firstBar=false;

}}

if (firstBar==false)

{

if( GetCurrentBid()-Close[1]>(myInput0*TickSize)

&& GetCurrentBid() > renkoHi+(myInput0*TickSize))

{

gBar= ( GetCurrentBid()-Close[1])/TickSize/myInput0;

gInt= (int)gBar;

//Print(gBar+"ghi"+gInt);

renkoHi=renkoHi+((myInput0*gInt)*TickSize);

renkoLo= renkoHi-(myInput0*TickSize);

renkoMid=renkoLo;

upBar=true;}

if(Close[1]-Close[0]>(myInput0*TickSize)

&& GetCurrentBid()< renkoLo-(myInput0*TickSize))

{

gBar= (GetCurrentBid()-Close[1])/TickSize/myInput0;

gInt= (int)gBar;

//Print(gBar+"glo"+gInt);

renkoLo= renkoLo+(myInput0*TickSize)*gInt;

renkoHi=renkoLo+(myInput0*TickSize);

renkoMid=renkoLo;

upBar=false;}

if (upBar== true

&& GetCurrentBid() >= renkoHi+(myInput0*TickSize))

{

renkoHi=renkoHi+(myInput0*TickSize);

renkoLo= renkoHi-(myInput0*TickSize);

renkoMid=renkoLo;}

if (upBar== false

&& GetCurrentBid()<= renkoLo-(myInput0*TickSize))

{

renkoLo=renkoLo-(myInput0*TickSize);

renkoHi= renkoLo+(myInput0*TickSize);

renkoMid=renkoHi;}

// reverse

if (upBar== true

&& GetCurrentBid() <= renkoLo-(myInput0*TickSize))

{

renkoMid=renkoLo;

renkoLo= renkoLo-(myInput0*TickSize);

renkoHi=renkoLo+(myInput0*TickSize);

upBar=false;}

if (upBar== false

&& GetCurrentBid()>= renkoHi+(myInput0*TickSize))

{

renkoMid=renkoHi;

renkoHi=renkoHi+(myInput0*TickSize);

renkoLo= renkoHi-(myInput0*TickSize);

upBar= true;}

if (upBar== true && GetCurrentBid()>=renkoHi+(.5*myInput0*TickSize))

{

renkoHalf=renkoHi-(.5*myInput0*TickSize);}

if (upBar== false && GetCurrentBid()<=renkoLo-(.5*myInput0*TickSize))

{

renkoHalf=renkoLo+(.5*myInput0*TickSize);}

}

Plot0.Set(renkoHi);

Plot1.Set(renkoLo);

Plot2.Set(renkoHalf);

Plot3.Set(renkoMid);

}

Files:
renkogap.mq4  15 kb
Reason: