Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

daedalus

Modifying the Value Chart

Recommended Posts

Just trying to modify the value chart so that if the High or Low of that bar is >= 7 (or whatever number you want) it paints that bar a different color. So you could tell visually if those bars are at the extremes rather than having to check them. But i can't seem to make it work.

 

Here's what i've got. I think my if then else's are the problem. Anyone got any ideas?

 

{*******************************************************************
Description	:	This Indicator plots Value Chart prices. 
Provided By	: Mark W. Helweg (c) Copyright 2001
********************************************************************}

Inputs:NumBars(5);
Variables:VOpen(0),VHigh(0),VLow(0),VClose(0),Var1(0),Var2(0),Value_Color(0),Bull_Color(0),Bear_Color(0),Mix_Color(0),Default_Color(0);


{Calcualte Value Chart}
VOpen = VChart(NumBars,Open);
VHigh = VChart(NumBars,High);
VLow = VChart(NumBars,Low);
VClose = VChart(NumBars,Close);
Bull_Color = Green;
Bear_Color = Red;
Default_Color = DarkGray;
Mix_Color = LightGray;

{Plot Value Chart - Disregards the first 20 bars because Omega doesn't process them correctly}
If BarNumber > Numbars then Begin
//This is where i started editing code	
If VHigh >= 7.00 Then 
	Value_Color = Bear_Color
else
	Value_Color = Mix_Color;	

If VLow <= 7.00 Then 
	Value_Color = Bull_Color
else
	Value_Color = Mix_Color;	

Value_Color = Default_Color;

		Plot1(VOpen,"VOpen");
		Plot2(VHigh,"VHigh", Value_Color);
		Plot3(VLow,"VLow", Value_Color);
		Plot4(VClose,"VClose");

End;

// Value Chart Lines
Inputs:TopMid(7),BottomMid(-7);



Plot6(TopMid);
Plot7(BottomMid);


//Plot ADX Value in Subplot
Plot9("VC High: "+ numtoStr(VHigh,2),"High");
Plot10("VC Low: "+ numtoStr(VLow,2),"Low");

Share this post


Link to post
Share on other sites

Take a look at this code modification. It may work for you.

 

{*******************************************************************
Description    :    This Indicator plots Value Chart prices. 
Provided By    : Mark W. Helweg (c) Copyright 2001

********************************************************************}

Inputs:NumBars(5), upcolour (green), downcolour(red), neutralcolour (cyan);
Variables:Vopen(0),VHigh(0),VLow(0),VClose(0),Var1(0),Var2(0);
Var: VcloseLam(0),ValueSOB(" "),ValueMOB(" "),ValueMOS(" "), ValueSOS(" "), ValueFair(" "), lastdate(0);


{Calcualte Value Chart}
VOpen = VChart(NumBars,Open);
VHigh = VChart(NumBars,High);
VLow = VChart(NumBars,Low);
VClose = VChart(NumBars,Close);

{Plot Value Chart - Disregards the first 20 bars because Omega doesn't process them correctly}
If BarNumber > Numbars then Begin
   Plot1(VOpen,"VOpen");
   Plot2(VHigh,"VHigh");
   Plot3(VLow,"VLow");
   Plot4(VClose,"VClose");

If vclose > 8 then setplotcolor (1,upcolour) else setplotcolor (1, neutralcolour);
If vclose > 8 then setplotcolor (2,upcolour) else setplotcolor (2, neutralcolour);
If vclose > 8 then setplotcolor (3,upcolour) else setplotcolor (3, neutralcolour);
If vclose > 8 then setplotcolor (4,upcolour) else setplotcolor (4, neutralcolour);
If vclose < -8 then setplotcolor (1,downcolour) else setplotcolor (8, neutralcolour);
If vclose < -8 then setplotcolor (2,downcolour) else setplotcolor (8, neutralcolour);
If vclose < -8 then setplotcolor (3,downcolour) else setplotcolor (8, neutralcolour);
If vclose < -8 then setplotcolor (4,downcolour) else setplotcolor (8, neutralcolour);



   End;

// Value Chart Lines
Inputs:Top(8),TopMid(4),BottomMid(-4),Bottom(-8);


Plot5(Top);
Plot6(TopMid);
Plot7(BottomMid);
Plot8(Bottom);

Share this post


Link to post
Share on other sites

{*******************************************************************
Description    :    This Indicator plots Value Chart prices. 
Provided By    : Mark W. Helweg (c) Copyright 2001

********************************************************************}

Inputs:NumBars(5), upcolour (green), downcolour(red), 
neutralcolour (cyan), MyExtreme(7);
Variables:Vopen(0),VHigh(0),VLow(0),VClose(0),Var1(0),Var2(0);
Var: VcloseLam(0),ValueSOB(" "),ValueMOB(" "),ValueMOS(" "), ValueSOS(" "), ValueFair(" "), lastdate(0);


{Calcualte Value Chart}
VOpen = VChart(NumBars,Open);
VHigh = VChart(NumBars,High);
VLow = VChart(NumBars,Low);
VClose = VChart(NumBars,Close);

{Plot Value Chart - Disregards the first 20 bars because Omega doesn't process them correctly}
If BarNumber > Numbars then Begin
   Plot1(VOpen,"VOpen");
   Plot2(VHigh,"VHigh");
   Plot3(VLow,"VLow");
   Plot4(VClose,"VClose");

If vclose > MyExtreme then setplotcolor (1,upcolour) else setplotcolor (1, neutralcolour);
If vclose > MyExtreme then setplotcolor (2,upcolour) else setplotcolor (2, neutralcolour);
If vclose > MyExtreme then setplotcolor (3,upcolour) else setplotcolor (3, neutralcolour);
If vclose > MyExtreme then setplotcolor (4,upcolour) else setplotcolor (4, neutralcolour);
If vclose < -MyExtreme then setplotcolor (1,downcolour) else setplotcolor (8, neutralcolour);
If vclose < -MyExtreme  then setplotcolor (2,downcolour) else setplotcolor (8, neutralcolour);
If vclose < -MyExtreme  then setplotcolor (3,downcolour) else setplotcolor (8, neutralcolour);
If vclose < -MyExtreme then setplotcolor (4,downcolour) else setplotcolor (8, neutralcolour);



   End;

// Value Chart Lines
Inputs:Top(8),TopMid(4),BottomMid(-4),Bottom(-8);


Plot5(Top);
Plot6(TopMid);
Plot7(BottomMid);
Plot8(Bottom);

 

Just to build on what Ochie had, I just added an input called MyExtreme so that you can change the number to whatever you want easier. I found that hard coding things made it a chore to change things. That is why I try to keep things as user inputs. Im not exactly sure if that will compile, dont have anything open right now to check. The only thing that you might need to tweak would be the -MyExtreme, but not entirely sure.

 

Also, dont know exactly what you are looking for, but adding some like >= (greater or equal to) might be of help. Not sure how many times the value chart exactly equals you extreme level, but just an idea.

Share this post


Link to post
Share on other sites

thanks for the help guys! You're defiantly on the right track, however the code doesn't work as it should.

 

It colors SOME of the bars that are greater than or less than 7 (the MyExtreme setting active in this screenshot) but not all of them.

 

Any ideas?

1.thumb.jpg.a8597163c365cd0d95cd60c86ece23f5.jpg

Share this post


Link to post
Share on other sites

Nevermind - fixed it. Just had to modify the variable vclose to vhigh and vlow...

 

{*******************************************************************
Description    :    This Indicator plots Value Chart prices. 
Provided By    : Mark W. Helweg (c) Copyright 2001

********************************************************************}

Inputs:NumBars(5), upcolour (green), downcolour(red), 
neutralcolour (cyan), MyExtreme(7);
Variables:Vopen(0),VHigh(0),VLow(0),VClose(0),Var1(0),Var2(0);
Var: VcloseLam(0),ValueSOB(" "),ValueMOB(" "),ValueMOS(" "), ValueSOS(" "), ValueFair(" "), lastdate(0);


{Calcualte Value Chart}
VOpen = VChart(NumBars,Open);
VHigh = VChart(NumBars,High);
VLow = VChart(NumBars,Low);
VClose = VChart(NumBars,Close);

{Plot Value Chart - Disregards the first 20 bars because Omega doesn't process them correctly}
If BarNumber > Numbars then Begin
   Plot1(VOpen,"VOpen");
   Plot2(VHigh,"VHigh");
   Plot3(VLow,"VLow");
   Plot4(VClose,"VClose");

If vhigh >= MyExtreme then setplotcolor (1,upcolour) else setplotcolor (1, neutralcolour);
If vhigh >= MyExtreme then setplotcolor (2,upcolour) else setplotcolor (2, neutralcolour);
If vhigh >= MyExtreme then setplotcolor (3,upcolour) else setplotcolor (3, neutralcolour);
If vhigh >= MyExtreme then setplotcolor (4,upcolour) else setplotcolor (4, neutralcolour);
If vlow <= -MyExtreme then setplotcolor (1,downcolour) else setplotcolor (8, neutralcolour);
If vlow <= -MyExtreme  then setplotcolor (2,downcolour) else setplotcolor (8, neutralcolour);
If vlow <= -MyExtreme  then setplotcolor (3,downcolour) else setplotcolor (8, neutralcolour);
If vlow <= -MyExtreme then setplotcolor (4,downcolour) else setplotcolor (8, neutralcolour);



   End;

// Value Chart Lines
Inputs:Top(8),TopMid(4),BottomMid(-4),Bottom(-8);


Plot5(Top);
Plot8(Bottom);

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.