Welcome to the Traders Laboratory Forums.
Coding Forum Collaborate, receive help, or discuss coding related issues.

Reply
Old 07-10-2009, 06:04 AM   #1

Join Date: Jun 2009
Location: hemel
Posts: 87
Ignore this user

Thanks: 0
Thanked 2 Times in 2 Posts



Help with Code

Hi,

Below are some floor pivs that i like, can someone help me add a label to the half piv points?

At the moment it just shows the price nothing else, i would like to add mid piv before that!

Thanks


Chris



Code:
[LegacyColorValue = true]; 

input: PivotType(0),
	BarsBack(60),
	ShowClose(1),
	ShowOpen(1),
	ShowHalfPivots(1),
	ShowLevel(0),
	DaysBack(1),
	NewDayTM(1510),
	RoundLevels(false),
	DecPlaces(2),
	SupResType(0);
	
var: theday(0);
var: Maxcnt(11);
array:
	TL[12](-1),Val[12](-1),
	Color[12](6),Label[12]("L"),FTextID[12](-1), TLabel[12](" ");

var: cnt(0),sdate(0),stime(0),fPivot(0),twOpen(0),theRange(0);

if lastbaronchart then begin

if time >= NewDayTM then theday = 0  else theday = 1;
theday = theday + DaysBack-1;
if theday <= 0 then begin 
	theday = 0;
	twOpen = 0;
end else twopen = theday-1;  {make sure this weeks open isn't <0}

{store weekly Open and Close that we care about}
Val[10] = CloseD(theday);
if PivotType >0 and PivotType <4 then Val[11] = OpenD(twopen) else Val[11] = OpenD(theday);

{calculate central pivot based on pivot type}{not sure how usefull some of these might be}
if      PivotType = 1 then fPivot = (HighD(theday) + LowD(theday) + Val[11]) /3
else if PivotType = 2 then fPivot = (HighD(theday) + LowD(theday) + Val[11] + Val[11]) /4
else if PivotType = 3 then fPivot = (HighD(theday) + LowD(theday) + Val[10] + Val[11]) /4
else if PivotType = 4 then fPivot = (HighD(theday) + LowD(theday) + Val[10] + Val[11]) /4
else fPivot = (HighD(theday) + LowD(theday) + Val[10]) /3; {default standard Pivot}

if SupResType = 1 then begin {seems like there is always a little different way to do these}
	theRange = (HighD(theday) - LowD(theday))/2;
	VAl[1] = fPivot;
	VAl[2] = fPivot + theRange; {R1}
	VAl[3] = fPivot - theRange; {S1}
	
	VAl[4] = VAl[2] + theRange; {R2}
	VAl[5] = VAl[3] - theRange; {S2}
	
	VAl[6] = VAl[4] + theRange; {R3}
	VAl[7] = VAl[5] - theRange; {S3}
	VAl[8] = VAl[6] + theRange; {R4}
	VAl[9] = VAl[7] - theRange; {S4}
end
else begin
	VAl[1] = fPivot;
	VAl[2] = fPivot + fPivot - LowD(theday); {R1}
	VAl[3] = fPivot + fPivot - HighD(theday); {S1}
	
	VAl[4] = fPivot + VAl[2] - VAl[3]; {R2}
	VAl[5] = fPivot - VAl[2] + VAl[3]; {S2}
	
	VAl[6] = fPivot + VAl[4] - VAl[3]; {R3}
	VAl[7] = fPivot - VAl[4] + VAl[3]; {S3}
	VAl[8] = fPivot + VAl[4] - VAl[5]; {R4}
	VAl[9] = fPivot - VAl[4] + VAl[5]; {S4}
end;

if RoundLevels then begin
	for cnt = 1 to 11 begin
		val[cnt] = roundInst(val[cnt]);
	end;
end;

Color[1] = LightGray;
Color[2] = Darkred;
Color[3] = Darkgreen;
Color[4] = Darkred;
Color[5] = Darkgreen;
Color[6] = Darkred;
Color[7] = Darkgreen;
Color[8] = Darkred;
Color[9] = Darkgreen;
Color[10] = Yellow;
Color[11] = DarkBrown;

TLabel[1] = "Daily Pivot - ";
TLabel[2] = "Daily R1 - ";
TLabel[3] = "Daily S1 - ";
TLabel[4] = "Daily R2 - ";
TLabel[5] = "Daily S2 - ";
TLabel[6] = "Daily R3 - ";
TLabel[7] = "Daily S3 - ";
TLabel[8] = "Daily R4 - ";
TLabel[9] = "Daily S4 - ";
TLabel[10] = "Prev Day Close - ";
TLabel[11] = "Prev Day Open - ";
	

sdate = Date[BarsBack];
stime = Time[BarsBack];


for cnt= 1 to Maxcnt begin
	if cnt < 10 or (ShowClose <> 0 and cnt = 10) or (ShowOpen <> 0 and cnt = 11) then begin
		if TL[cnt] < 0 then begin {dosn't exist, create new TL}
			TL[cnt] = TL_New (sdate, stime, Val[cnt],
				date, time , Val[cnt]);
			TL_SetColor (TL[cnt], Color[cnt]);
			if cnt >= 10 then TL_SetStyle (TL[cnt], Tool_Dashed)
				else TL_SetStyle (TL[cnt], Tool_Dashed);
		end;
		if TL_Exist(TL[cnt]) then begin {exist}
			TL_SetEnd (TL[cnt], date, time , Val[cnt]);
			TL_SetBegin (TL[cnt], sdate, stime, Val[cnt]); {reset TL}
			TL_SetExtRight(TL[cnt],true);
		end;
	
		{do text stuff}
		if FTextID[cnt] < 0 then begin  {is new}
			FTextID[cnt] = Text_New(sdate, stime, Val[cnt], "zzz");
			Text_SetStyle(FTextID[cnt], 1, 2);
			Text_SetColor(FTextID[cnt], Color[cnt]);
		end;
		if FTextID[cnt] >= 0 then begin  {already exists}
			Text_SetLocation(FTextID[cnt], sdate, stime, Val[cnt]);
			Text_SetString(FTextID[cnt],TLabel[cnt] + NumToStr(Val[cnt], DecPlaces) + " " );
		end;
	end; {count < 6, etc.}
end; {cnt}

Array: HalfTL[9](-1),HalfVal[9](0),HTextID[9](-1);

if ShowHalfPivots <> 0 then begin
	HalfVal[1] = ((Val[4] - Val[2])/2) + Val[2];
	HalfVal[2] = ((Val[2] - Val[1])/2) + Val[1];
	HalfVal[3] = ((Val[1] - Val[3])/2) + Val[3];
	HalfVal[4] = ((Val[3] - Val[5])/2) + Val[5]; {s1-s2}
	HalfVal[5] = ((Val[4] - Val[6])/2) + Val[6];
	HalfVal[6] = ((Val[5] - Val[7])/2) + Val[7]; {s2-s3}
	HalfVal[7] = ((Val[6] - Val[8])/2) + Val[8];
	HalfVal[8] = ((Val[7] - Val[9])/2) + Val[9]; {s3-s4}

	if RoundLevels then begin
		for cnt = 1 to 8 begin
			HalfVal[cnt] = roundInst(HalfVal[cnt]);
		end;
	end;

	for cnt= 1 to 8 begin
		if HalfTL[cnt] < 0 then begin {dosn't exist, create new TL}
			HalfTL[cnt] = TL_New (sdate, stime, HalfVal[cnt],
			date, time , HalfVal[cnt]);
			TL_SetColor (HalfTL[cnt], DarkGray);
			TL_SetStyle (HalfTL[cnt], Tool_Dashed);
		end;
		if TL_Exist(HalfTL[cnt]) then begin {exist}
			TL_SetEnd (HalfTL[cnt], date, time , HalfVal[cnt]);
			TL_SetBegin (HalfTL[cnt], sdate, stime, HalfVal[cnt]); {reset TL}
			TL_SetExtRight(HalfTL[cnt],true);

		end;
		
		{do text stuff}
		if HTextID[cnt] < 0 then begin  {is new}
			HTextID[cnt] = Text_New(sdate, stime, HalfVal[cnt], "zzz");
			Text_SetStyle(HTextID[cnt], 1, 2);
			Text_SetColor(HTextID[cnt], DarkGray);
		end;
		if HTextID[cnt] >= 0 then begin  {already exists}
			Text_SetLocation(HTextID[cnt], sdate, stime, HalfVal[cnt]);
			Text_SetString(HTextID[cnt], NumToStr(HalfVal[cnt], DecPlaces) + " " );
		end;
	end; {cnt}
end; {ShowHalfPivots}

end; {last bar}

if ShowLevel > 0 and ShowLevel <= 4 then begin
	noplot(2);
	noplot(3);
	if ShowLevel = 1 then begin
		Plot2[-1](Val[2] + .5,"h");
		Plot3[-1](Val[3] - .5,"l");
	end
	else if ShowLevel = 2 then begin
		Plot2[-1](Val[4] + .5,"h");
		Plot3[-1](Val[5] - .5,"l");
	end
	else if ShowLevel = 3 then begin
		Plot2[-1](Val[6] + .5,"h");
		Plot3[-1](Val[7] - .5,"l");
	end
	else if ShowLevel = 4 then begin
		Plot2[-1](Val[8] + .5,"h");
		Plot3[-1](Val[9] - .5,"l");
	end;

end;
chrisleonard is offline  
Reply With Quote
Old 07-10-2009, 09:36 AM   #2

Join Date: Jun 2009
Location: hemel
Posts: 87
Ignore this user

Thanks: 0
Thanked 2 Times in 2 Posts



Re: Help with Code

Hi, I have sorted this now.

Thanks Anyway

Chris
chrisleonard is offline  
Reply With Quote
Old 07-10-2009, 09:52 AM   #3

Tams's Avatar

Join Date: Sep 2008
Location: Geelong
Posts: 3,588
Ignore this user

Thanks: 2,026
Thanked 1,402 Times in 862 Posts



Re: Help with Code

Quote:
Originally Posted by chrisleonard »
Hi, I have sorted this now.

Thanks Anyway

Chris

as a courtesy to the community, you should post your solution, so that everybody can learn from it.
Tams is online now  
Reply With Quote
Old 07-10-2009, 09:55 AM   #4

Join Date: Jun 2009
Location: hemel
Posts: 87
Ignore this user

Thanks: 0
Thanked 2 Times in 2 Posts



Re: Help with Code

No Probs,

I kind of bodged it but it did the job!!

i added

MLabel[1] = "Mid Point - ";

then i changed the string from

Text_SetString(HTextID[cnt], NumToStr(HalfVal[cnt], DecPlaces) + " " );

To

Text_SetString(HTextID[cnt], MLabel[1] + NumToStr(HalfVal[cnt], DecPlaces) + " " );
chrisleonard is offline  
Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
What EL Code Should I Use ? emptyvault Coding Forum 4 07-01-2009 11:08 AM
Looking For LUA Code Help Dudewanarace Coding Forum 0 03-11-2009 12:57 AM
ADE Code karsat Coding Forum 0 03-08-2009 09:06 PM
P&F Code point-figure Coding Forum 0 02-17-2009 07:24 AM
Help To Code My EA pepe1 Coding Forum 0 06-24-2008 02:41 PM

All times are GMT -4. The time now is 12:41 PM.
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
CS to VB integration by DeskLancer
©2006-2011 Traders Laboratory, All Rights Reserved.