Dynamic Pivots

 

Hello All,

I came across this indicator in the July '10 issue of Stocks and Commodities. I was wondering if anyone could code it for mt4, the article only has the tradestation code. Any help would be appreciated, thank you.

This is what was written exactly in the S&C article:

{

Applies to daily, intra-day, and tick bar charts only.

Plot lines at floor trader pivot levels, based on the following formulae:

Resistance Level 3 = R3 = R2 + YestHigh - YestLow

Resistance Level 2 = R2 = PP + YestHigh - YestLow

Resistance Level 1 = R1 = PP * 2 - YestLow

Pivot Point = PP = ( YestHigh + YestLow + YestClose ) / 3

Support Level 1 = S1 = PP * 2 - Yest High

Support Level 2 = S2 = PP - YestHigh + YestLow

Support Level 3 = S3 = S2 - YestHigh + YestLow

Input specifies whether R3 and S3 are plotted in addition to the 5 lines at PP, S1, S2, R1, and R2.

}

inputs:

Plot_5or7( 5) ; { if 7, adds plots for S3 and R3 to other 5 lines }

variables:

S1 ( 0 ),

S2 ( 0 ),

S3 ( 0 ),

R1 ( 0 ),

R2 ( 0 ),

R3 ( 0 ),

PP ( 0 ),

TodaysHigh(0 ),

YestHigh( 0 ),

TodaysLow( 0 ),

YestLow( 0 ),

TodaysClose( 0 ),

Yest Close( 0 ),

Counter( 0 ) ;

if Date Date[1] then

begin

{ increment Counter to be sure enough data is processed - see comment below }

Counter = Counter + 1 ;

YestHigh = TodaysHigh ;

YestLow = TodaysLow ;

YestClose = Close[1] ;

TodaysHigh = High ;

TodaysLow = Low ;

PP = ( YestHigh + YestLow + YestClose ) / 3 ;

R1 = PP * 2 - YestLow ;

R2 = PP + YestHigh - YestLow ;

R3 = R2 + YestHigh - YestLow ;

S1= PP * 2 - YestHigh ;

S2 = PP - YestHigh + YestLow ;

S3 = S2 - YestHigh + YestLow ;

end

else

begin

if High > TodaysHigh then TodaysHigh = High ;

if Low < TodaysLow then TodaysLow = Low ;

end ;

if Counter >=2 and BarType < 3 then {if at least one full day's data has been processed and chart bar interval is daily, intraday, or tick bar then plot }

begin

if Plot_5or7 = 7 then Plot1 (R3, "R3" ) ;

Plot 2( R2, "R2" ) ;

Plot 3( R1, "R1" ) ;

Plot 4( PP, "PP" ) ;

Plot 5( S1, "S1" ) ;

Plot 6( S2, "S2" ) ;

if Plot_5or7 = 7 then Plot7( S3, "S3" ) ;

end ;

 

Hi,

I am also interested in this indicator from stocks and ...

Have you found it somewehere else as this way seems to be a one way street. Cheers