Squelch Control Indicator

cucurucu
463
cucurucu  

Hi,

I have the EasyLanguage code to implement the Squelch Control as a Paintbar and I need someone to write an indicator for MT4. This indicator was writen by John Ehlers. I think it's very useful.

Inputs: Price((H+L)/2),

Squelch(20);

Vars: InPhase(0),

Quadrature(0),

Phase(0),

DeltaPhase(0),

count(0),

InstPeriod(0),

Period(0);

If CurrentBar > 5 then begin

{Compute InPhase and Quadrature components}

Value1 = Price - Price[6];

Value2 =Value1[3];

Value3 =.75*(Value1 - Value1[6]) + .25*(Value1[2] - Value1[4]);

InPhase = .33*Value2 + .67*InPhase[1];

Quadrature = .2*Value3 + .8*Quadrature[1];

{Use ArcTangent to compute the current phase}

If AbsValue(InPhase +InPhase[1]) > 0 then Phase = ArcTangent(AbsValue((Quadrature+Quadrature[1]) / (InPhase+InPhase[1])));

{Resolve the ArcTangent ambiguity}

If InPhase 0 then Phase = 180 - Phase;

If InPhase < 0 and Quadrature < 0 then Phase = 180 + Phase;

If InPhase > 0 and Quadrature < 0 then Phase = 360 - Phase;

{Compute a differential phase, resolve phase wraparound, and limit delta phase errors}

DeltaPhase = Phase[1] - Phase;

If Phase[1] 270 then DeltaPhase = 360 + Phase[1] - Phase;

If DeltaPhase < 1 then DeltaPhase = 1;

If DeltaPhase > 60 then Deltaphase = 60;

{Sum DeltaPhases to reach 360 degrees. The sum is the instantaneous period.}

InstPeriod = 0;

Value4 = 0;

For count = 0 to 40 begin

Value4 = Value4 + DeltaPhase[count];

If Value4 > 360 and InstPeriod = 0 then begin

InstPeriod = count;

end;

end;

{Resolve Instantaneous Period errors and smooth}

If InstPeriod = 0 then InstPeriod = InstPeriod[1];

Period = .25*InstPeriod + .75*Period[1];

If Period < Squelch then begin

Plot1(High,"High");

Plot2(Low,"Low");

end;

end;

Files:
squelch.gif 27 kb
Eric
307
Eric  

So this indicator paints the bars as in your attached screen? It looks nice as long as it is not painting past bars. I would like to try it out too but unfortunately I am not a programmer :[

cucurucu
463
cucurucu  

Yes, it paints the bars as in attached screen but i haven't seen it "in action" so I don't know if it paints the past. I hope it doesn't.

Igor Durkin
7832
Igor Durkin  

Hi,

I rewrote this indicator for MQL4, but I think, that in it there is a bug.

I should check it on TS.

Igor

Files:
sci_v1.mq4 5 kb
cucurucu
463
cucurucu  

Hi Igor,

Thank you for the indicator.

It seems though, there is something wrong with it. It suppose to paint blue all the bars of an uptrend and red for the rest(downtrend & ranging periods). I can see lots of downtrends in blue (instead of red). Maybe there was an error in the formula I posted.

If I can find that formula elsewhere, I will post the corrections.