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

Reply
Old 05-29-2010, 12:34 PM   #1

Join Date: Jan 2007
Location: chicago
Posts: 45
Ignore this user

Thanks: 1
Thanked 49 Times in 14 Posts

ELD for Bar Text in Corner

I have been having problems changing the following indicator to print the bar close. The indicator currently prints the current bar and previous bars' high and low. What I am trying to do is change it to print the previous bars high low and close. The close in a nice over sized text and a bright color like yellow or light green. The text prints in the upper right corner of the chart. Below is the code . If anyone could tell me what lines to enter or change and where I would be most grateful.



Input:
RangeAmount ( 1),
Decimal ( 2),
Text_Color (rgb(100,255,150)),
UpColor (rgb(255,255,255)), // You pick the color
DnColor (rgb(255,0,0)),
Percent ( 5), // Top of screen = 0, Bottom of screen = 100.
BelowFactor ( 2); // Percent amount for 2nd line to appear below first line.

Var:
CurrentBarHigh ( 0 ),
CurrentBarLow ( 0 ),
PreviousBarHigh ( 0 ),
PreviousBarLow ( 0 ),
PlacementHolder ( 0 ),
RangeAmountPrevious ( 0 ),
Text_ID1 (-1 ),
Text_ID2 (-1 ),
Text_ID3 (-1 ),
Text_ID4 (-1 ),
Left_ID ( 0 ),
Right_ID ( 0 ),
High_ID ( 0 ),
Low_ID ( 0 ),
Offset ( 0 );
CurrentBarHigh = H;
CurrentBarLow = L;
PreviousBarHigh = High[1];
PreviousBarLow = Low[1];
RangeAmountPrevious = High[1] - Low[1];

// This draws the text on the first bar
once if currentbar = 1 then begin
if Text_ID1 = -1 then begin
Text_ID1 = Text_New( Date, Time, 0, " " ) ;
end;
if Text_ID2 = -1 then begin
Text_ID2 = Text_New( Date, Time, 0, " " ) ;
end;
if Text_ID3 = -1 then begin
Text_ID3 = Text_New( Date, Time, 0, " " ) ;
end;
if Text_ID4 = -1 then begin
Text_ID4 = Text_New( Date, Time, 0, " " ) ;
end;
end;

// This updates the text and places it in the upper right corner
Left_ID = GetAppInfo( aiLeftDispDateTime );
Right_ID = GetAppInfo( aiRightDispDateTime );
High_ID = GetAppInfo( aiHighestDispValue );
Low_ID = GetAppInfo( aiLowestDispValue );
Offset = ((high_ID - Low_ID)*.01); { 1% of chart height. Then Pcnt (Input) becomes Percent height of chart}

Text_setstring(Text_ID1,n umtostr(PreviousBarHigh,d ecimal)+" ");
Text_SetLocation( Text_ID1,JulianToDate( IntPortion(Right_ID)),Min utesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * percent) ) ;
Text_SetStyle( Text_ID1, 1,0 ) ;
Text_SetColor(Text_ID1, Text_Color);
Text_setstring(Text_ID2,n umtostr(CurrentBarHigh,de cimal));
Text_SetLocation( Text_ID2,JulianToDate( IntPortion(Right_ID)),Min utesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * percent) ) ;
Text_SetStyle( Text_ID2, 1,0 ) ;
Text_SetColor(Text_ID2, Text_Color);
Text_setstring(Text_ID3,n umtostr(PreviousBarLow,de cimal)+" ");
Text_SetLocation( Text_ID3,JulianToDate( IntPortion(Right_ID)),Min utesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * percent)*BelowFactor ) ;
Text_SetStyle( Text_ID3, 1,0 ) ;
Text_SetColor(Text_ID3, Text_Color);
Text_setstring(Text_ID4,n umtostr(CurrentBarLow,dec imal));
Text_SetLocation( Text_ID4,JulianToDate( IntPortion(Right_ID)),Min utesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * percent)*BelowFactor ) ;
Text_SetStyle( Text_ID4, 1,0 ) ;
Text_SetColor(Text_ID4, Text_Color);

// This colors the previous bars range numbers

If RangeAmountPrevious > RangeAmount then begin
Text_SetColor(Text_ID1, DnColor);
Text_SetColor(Text_ID3, DnColor);
end;
If RangeAmountPrevious < RangeAmount then begin
Text_SetColor(Text_ID1, UpColor);
Text_SetColor(Text_ID3, UpColor);
end;
If RangeAmountPrevious = RangeAmount then begin
Text_SetColor(Text_ID1, Text_Color);
Text_SetColor(Text_ID3, Text_Color);
end;
hunter1 is offline  
Reply With Quote
Old 06-06-2010, 04:35 AM   #2
aaa

aaa's Avatar

Join Date: Jun 2008
Location: Switzerland
Posts: 443
Ignore this user

Thanks: 240
Thanked 283 Times in 136 Posts

Re: ELD for Bar Text in Corner

Hi Hunter

U've posted 9 days ago w/o any reply... 2 sad ...

I suggest a more structured method 2 have a chance 2 get help here

- Say your level in programming

- Xplain shortly the framework of your question

- Say where comes from your code

- Define clearly your goals

A) print the previous bars
high
low
close

B) close in a
16 sized text
color yellow

C) text prints in the
upper right corner of the chart

- Reformat seperate and comment each part of your code

- Learn each function in your manual

- Understand the logic behind

- Xperiment different parameters and watch the result on the screen

- Use the search field 2 find equivalent questions in the forum

- Go back 2 your thread with the result of your personnal work

- Ask only 1 short + precise + illustrated ( picture, mockup, ...) question at a time

- If nobody answers after a while try again in a different way 2 move up your thread

IMO these suggestion will show your motivation 2 find the solution and will motivate PP 2 help U

regards
aaa is offline  
Reply With Quote
The Following User Says Thank You to aaa For This Useful Post:
Stat (03-12-2011)
Old 06-06-2010, 09:06 AM   #3

shrike's Avatar

Join Date: Jun 2009
Location: fantasy
Posts: 85
Ignore this user

Thanks: 44
Thanked 24 Times in 22 Posts

Re: ELD for Bar Text in Corner

Hi
try this

Code:
Inputs:
RangeAmount ( 1),
Decimal ( 2),
Text_Color (rgb(100,255,150)),
UpColor (rgb(255,255,255)), // You pick the color
DnColor (rgb(255,0,0)),
Percent ( 5), // Top of screen = 0, Bottom of screen = 100.
BelowFactor ( 2); // Percent amount for 2nd line to appear below first line.

Var:
PreviousBarCLOSE( 0 ),  // this refers to prev. close 
PreviousBarHigh ( 0 ),
PreviousBarLow ( 0 ),
PlacementHolder ( 0 ),
RangeAmountPrevious ( 0 ),
Text_ID1 (-1 ),
Text_ID2 (-1 ),
Text_ID3 (-1 ),
Text_ID4 (-1 ),
Left_ID ( 0 ),
Right_ID ( 0 ),
High_ID ( 0 ),
Low_ID ( 0 ),
Offset ( 0 );

PreviousBarCLOSE = c[1];    // this refers to prev. close 
PreviousBarHigh = High[1];
PreviousBarLow = Low[1];
RangeAmountPrevious = High[1] - Low[1];

// This draws the text on the first bar
once if currentbar = 1 then begin
if Text_ID1 = -1 then begin
Text_ID1 = Text_New( Date, Time, 0, " " ) ;
end;
if Text_ID2 = -1 then begin
Text_ID2 = Text_New( Date, Time, 0, " " ) ;
end;
if Text_ID3 = -1 then begin
Text_ID3 = Text_New( Date, Time, 0, " " ) ;
end;
if Text_ID4 = -1 then begin
Text_ID4 = Text_New( Date, Time, 0, " " ) ;
end;
end;

// This updates the text and places it in the upper right corner
Left_ID = GetAppInfo( aiLeftDispDateTime );
Right_ID = GetAppInfo( aiRightDispDateTime );
High_ID = GetAppInfo( aiHighestDispValue );
Low_ID = GetAppInfo( aiLowestDispValue );
Offset = ((high_ID - Low_ID)*.01); { 1% of chart height. Then Pcnt (Input) becomes Percent height of chart}
 
Text_setstring(Text_ID1,numtostr(PreviousBarHigh,decimal)+" ");
Text_SetLocation( Text_ID1,JulianToDate( IntPortion(Right_ID)),MinutesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * percent) ) ;
Text_SetStyle( Text_ID1, 1,0 ) ;
Text_SetColor(Text_ID1, Text_Color);
Text_setstring(Text_ID2,numtostr(PreviousBarCLOSE,decimal));  // shows prev. close 
Text_SetLocation( Text_ID2,JulianToDate( IntPortion(Right_ID)),MinutesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * percent) ) ;
Text_SetStyle( Text_ID2, 1,0 ) ;
Text_SetColor(Text_ID2, Text_Color);
Text_setstring(Text_ID3,numtostr(PreviousBarLow,dEcimal)+" ");
Text_SetLocation( Text_ID3,JulianToDate( IntPortion(Right_ID)),MinutesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * percent)*BelowFactor ) ;
Text_SetStyle( Text_ID3, 1,0 ) ;
Text_SetColor(Text_ID3, Text_Color);


// This colors the previous bars range numbers

If RangeAmountPrevious > RangeAmount then begin
Text_SetColor(Text_ID1, DnColor);
Text_SetColor(Text_ID3, DnColor);
end;
If RangeAmountPrevious < RangeAmount then begin
Text_SetColor(Text_ID1, UpColor);
Text_SetColor(Text_ID3, UpColor);
end;
If RangeAmountPrevious = RangeAmount then begin
Text_SetColor(Text_ID1, Text_Color);
Text_SetColor(Text_ID3, Text_Color);
end;
shrike is offline  
Reply With Quote
Old 06-07-2010, 01:47 PM   #4

Join Date: Jan 2007
Location: chicago
Posts: 45
Ignore this user

Thanks: 1
Thanked 49 Times in 14 Posts

Re: ELD for Bar Text in Corner

Thanks Shrike, I small problem the text for the close prints over the text for the open so you can't read either.
hunter1 is offline  
Reply With Quote
Old 06-07-2010, 06:17 PM   #5

shrike's Avatar

Join Date: Jun 2009
Location: fantasy
Posts: 85
Ignore this user

Thanks: 44
Thanked 24 Times in 22 Posts

Re: ELD for Bar Text in Corner

Hi

play with this line of code

Code:
Text_setstring(Text_ID1,"H : " + numtostr(PreviousBarHigh,decimal)+"  ");
Text_SetLocation( Text_ID1,JulianToDate( IntPortion(Right_ID)),MinutesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * percent)*-BelowFactor/2 ) ;
Text_SetStyle( Text_ID1, 1,0 ) ;
Text_SetColor(Text_ID1, Text_Color);
Text_setstring(Text_ID2,"C : " + numtostr(PreviousBarCLOSE,decimal)+"  ");
Text_SetLocation( Text_ID2,JulianToDate( IntPortion(Right_ID)),MinutesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * (percent)) ) ;
Text_SetStyle( Text_ID2, 1,0 ) ;
Text_SetColor(Text_ID2, Text_Color);
Text_setstring(Text_ID3,"L : " + numtostr(PreviousBarLow,dEcimal)+" ");
Text_SetLocation( Text_ID3,JulianToDate( IntPortion(Right_ID)),MinutesToTime( FracPortion(Right_ID)*60* 24 ),High_ID - (Offset * (percent))*BelowFactor ) ;
Text_SetStyle( Text_ID3, 1,0 ) ;
Text_SetColor(Text_ID3, Text_Color);
I've put *-belowfactor in prev high so text is shifted up , and insert text H,C,L
shrike is offline  
Reply With Quote
Old 06-07-2010, 08:29 PM   #6

Tams's Avatar

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

Thanks: 2,084
Thanked 1,474 Times in 912 Posts

Re: ELD for Bar Text in Corner

Quote:
Originally Posted by hunter1 »
I have been having problems changing the following indicator to print the bar close....

you can borrow this code and modify it to your needs.

Scalper's HL Bracket (with Sound)
http://www.traderslaboratory.com/for...ound-6084.html


157.88



ps. it is always helpful to include a mock up chart to illustrate your "vision".
__________________



Only an idiot would reply to a stupid post
Tams is offline  
Reply With Quote

Reply

Thread Tools
Display Modes Help Others By Rating This Thread
Help Others By Rating This Thread:


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