No registration required! (Why?)

# Developing Poc / PVP Indicator for OEC

Hey all, I finally got around to learning arrays in Easy Language.

Thought OEC users would appreciate this code. It shows the days Peak Volume Price as it develops. The smaller your chart interval the more accurate. If you want to install this first make sure you have installed the custom indicator package off OEC's site. Just right click on the chart choose Plugins>Show Library and then right click in the Library window and choose New > Easy Language Indicator. Now just copy paste this code into the Easy Language window and hit compile, save it as PVP. It will show up in your indicator list under "Imported".

//PopStocks PVP

Vars: Counter, Op(0), Ct(0), hh(0), f(0);

Array: v[800](0), p[800](0);

If 1 = 1 then Ct =1+Ct;

If Date > Date[1] or Ct = 1 then begin

Op = Open-100;

For Counter = 1 to 800

begin

p[counter] = 0;

v[counter] = 0;

End;

End;

For Counter = 1 to 800

begin

p[counter] = (counter*.25)+Op;

If Close = p[counter] then v[counter]= volume+v[counter];

End;

hh = highestarray(v,800);

if hh> hh[1] then f = close;

Plot1(f);

Thought OEC users would appreciate this code. It shows the days Peak Volume Price as it develops. The smaller your chart interval the more accurate. If you want to install this first make sure you have installed the custom indicator package off OEC's site. Just right click on the chart choose Plugins>Show Library and then right click in the Library window and choose New > Easy Language Indicator. Now just copy paste this code into the Easy Language window and hit compile, save it as PVP. It will show up in your indicator list under "Imported".

//PopStocks PVP

Vars: Counter, Op(0), Ct(0), hh(0), f(0);

Array: v[800](0), p[800](0);

If 1 = 1 then Ct =1+Ct;

If Date > Date[1] or Ct = 1 then begin

Op = Open-100;

For Counter = 1 to 800

begin

p[counter] = 0;

v[counter] = 0;

End;

End;

For Counter = 1 to 800

begin

p[counter] = (counter*.25)+Op;

If Close = p[counter] then v[counter]= volume+v[counter];

End;

hh = highestarray(v,800);

if hh> hh[1] then f = close;

Plot1(f);

Thanks for posting this popstocks. What is OEC? I know that EasyLanguage is Trade Station's charting script.

Hi DT. OEC is Open Ecry, a broker with a very inexpensive or free datafeed.

Thanks Maria.

quote:Hi popstocks, thanks for posting this info. have you tried or tweaked any TPO/MP .eld's for OEC? i know there is one over at TradersLab. i currently use Sierra Charts and am happy with it, but as a OEC user, i would love to get MP charts on my OEC platform too.Originally posted by popstocks

Hey all, I finally got around to learning arrays in Easy Language.

Thought OEC users would appreciate this code. It shows the days Peak Volume Price as it develops.

thanks in advance.

quote:Originally posted by omni72

quote:Hi popstocks, thanks for posting this info. have you tried or tweaked any TPO/MP .eld's for OEC? i know there is one over at TradersLab. i currently use Sierra Charts and am happy with it, but as a OEC user, i would love to get MP charts on my OEC platform too.Originally posted by popstocks

Hey all, I finally got around to learning arrays in Easy Language.

Thought OEC users would appreciate this code. It shows the days Peak Volume Price as it develops.

thanks in advance.

yw omni, i looked at that mp code the other day but couldn't get it to import, also when I open it in a text editor it is all scrambled. who knows. it would be possible for me to make my own mp indicator for ecry but it is a big undertaking and i don't like classic mp tpo charting to be frank. I prefer to plot the PVP, Vals and Cumulative Average all on a regular bar chart instead.

can you compile this one for OEC?

inputs:

Length( 34), {Length for LR calculation of Raff Channels. }

{The difference in the current closing price and }

{the channel lines is computed and plotted. }

LongMult(2), {Multiplier of Length to get long length. }

Smooth(3), {Length for smoothing filter. }

ChanWide(2); {Multiplier of StdDev(c,Length) to set width. }

{Negative is multiplier (%) of closing price. }

variables:

UseLength(Iff(Length<9,9,Length)),

UseLength1(IntPortion(UseLength*LongMult)),

ChanStdD(0),

WideChan(Iff(ChanWide<=0,1,ChanWide)),

LRV1(0), {Current linear regression valueS}

LRV(0); {Current linear regression valueS}

If ChanWide>0 then ChanStdD=StdDev(MedianPrice,UseLength)*WideChan

else ChanStdD=MedianPrice/100*WideChan;

If LongMult>0 then begin

LRV1 = LinearRegValue(MedianPrice,UseLength1,0) ;

Value10=(c-(LRV1+ChanStdD))-((LRV1-ChanStdD)-c);

If Smooth>0 then Value11=XAverage(Value10,Smooth)

else Value11=Value10;

If Value11>0 then Plot3(Value11,"el1+")

else Plot4(Value11,"el1-");

End;

LRV =LinearRegValue(MedianPrice,UseLength,0) ;

Value0=(c-(LRV+ChanStdD))-((LRV-ChanStdD)-c);

If Smooth>0 then Value1=XAverage(Value0,Smooth)

else Value1=Value0;

If Value1>0 then Plot1(Value1,"el+")

else Plot2(Value1,"el-");

{

Value21=Value11-Value1;

If Value21>0 then Plot2(Value21,"el+")

else Plot3(Value21,"el-");

}

inputs:

Length( 34), {Length for LR calculation of Raff Channels. }

{The difference in the current closing price and }

{the channel lines is computed and plotted. }

LongMult(2), {Multiplier of Length to get long length. }

Smooth(3), {Length for smoothing filter. }

ChanWide(2); {Multiplier of StdDev(c,Length) to set width. }

{Negative is multiplier (%) of closing price. }

variables:

UseLength(Iff(Length<9,9,Length)),

UseLength1(IntPortion(UseLength*LongMult)),

ChanStdD(0),

WideChan(Iff(ChanWide<=0,1,ChanWide)),

LRV1(0), {Current linear regression valueS}

LRV(0); {Current linear regression valueS}

If ChanWide>0 then ChanStdD=StdDev(MedianPrice,UseLength)*WideChan

else ChanStdD=MedianPrice/100*WideChan;

If LongMult>0 then begin

LRV1 = LinearRegValue(MedianPrice,UseLength1,0) ;

Value10=(c-(LRV1+ChanStdD))-((LRV1-ChanStdD)-c);

If Smooth>0 then Value11=XAverage(Value10,Smooth)

else Value11=Value10;

If Value11>0 then Plot3(Value11,"el1+")

else Plot4(Value11,"el1-");

End;

LRV =LinearRegValue(MedianPrice,UseLength,0) ;

Value0=(c-(LRV+ChanStdD))-((LRV-ChanStdD)-c);

If Smooth>0 then Value1=XAverage(Value0,Smooth)

else Value1=Value0;

If Value1>0 then Plot1(Value1,"el+")

else Plot2(Value1,"el-");

{

Value21=Value11-Value1;

If Value21>0 then Plot2(Value21,"el+")

else Plot3(Value21,"el-");

}

Yeah it compiles, you just have to replace median price with a variable set to equal (high+low)/2. Is this supposed to be an upper or lower study? I put it on my chart but it gives out negative numbers so I'm assuming it is a lower study. It just looks like a bunch of squiggly lines to me, not sure what to make of it.

quote:Originally posted by nkhoi

can you compile this one for OEC?

inputs:

Length( 34), {Length for LR calculation of Raff Channels. }

{The difference in the current closing price and }

{the channel lines is computed and plotted. }

LongMult(2), {Multiplier of Length to get long length. }

Smooth(3), {Length for smoothing filter. }

ChanWide(2); {Multiplier of StdDev(c,Length) to set width. }

{Negative is multiplier (%) of closing price. }

variables:

UseLength(Iff(Length<9,9,Length)),

UseLength1(IntPortion(UseLength*LongMult)),

ChanStdD(0),

WideChan(Iff(ChanWide<=0,1,ChanWide)),

LRV1(0), {Current linear regression valueS}

LRV(0); {Current linear regression valueS}

If ChanWide>0 then ChanStdD=StdDev(MedianPrice,UseLength)*WideChan

else ChanStdD=MedianPrice/100*WideChan;

If LongMult>0 then begin

LRV1 = LinearRegValue(MedianPrice,UseLength1,0) ;

Value10=(c-(LRV1+ChanStdD))-((LRV1-ChanStdD)-c);

If Smooth>0 then Value11=XAverage(Value10,Smooth)

else Value11=Value10;

If Value11>0 then Plot3(Value11,"el1+")

else Plot4(Value11,"el1-");

End;

LRV =LinearRegValue(MedianPrice,UseLength,0) ;

Value0=(c-(LRV+ChanStdD))-((LRV-ChanStdD)-c);

If Smooth>0 then Value1=XAverage(Value0,Smooth)

else Value1=Value0;

If Value1>0 then Plot1(Value1,"el+")

else Plot2(Value1,"el-");

{

Value21=Value11-Value1;

If Value21>0 then Plot2(Value21,"el+")

else Plot3(Value21,"el-");

}

I’m looking for the TPO value lines POC VAH and VAL. So far no luck finding the EL code .

Thanks for your coding, unfortunately it does not compiled since the last OEC update, did you get a chance to update the PVP?

Thanks for your coding, unfortunately it does not compiled since the last OEC update, did you get a chance to update the PVP?

quote:Originally posted by popstocks

Hey all, I finally got around to learning arrays in Easy Language.

Thought OEC users would appreciate this code. It shows the days Peak Volume Price as it develops. The smaller your chart interval the more accurate. If you want to install this first make sure you have installed the custom indicator package off OEC's site. Just right click on the chart choose Plugins>Show Library and then right click in the Library window and choose New > Easy Language Indicator. Now just copy paste this code into the Easy Language window and hit compile, save it as PVP. It will show up in your indicator list under "Imported".

//PopStocks PVP

Vars: Counter, Op(0), Ct(0), hh(0), f(0);

Array: v[800](0), p[800](0);

If 1 = 1 then Ct =1+Ct;

If Date > Date[1] or Ct = 1 then begin

Op = Open-100;

For Counter = 1 to 800

begin

p[counter] = 0;

v[counter] = 0;

End;

End;

For Counter = 1 to 800

begin

p[counter] = (counter*.25)+Op;

If Close = p[counter] then v[counter]= volume+v[counter];

End;

hh = highestarray(v,800);

if hh> hh[1] then f = close;

Plot1(f);

It compiles without errors but doesn't make the right plotting, it seems intersting, any clues on how to fix it?

quote:Originally posted by nkhoi

it still compiles with error.

it supposes to chart this. oh well!

Copyright © 2004-2017, MyPivots. All rights reserved.