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

Reply
Old 04-28-2009, 08:34 AM   #1

Join Date: Apr 2009
Location: London
Posts: 36
Ignore this user

Thanks: 1
Thanked 33 Times in 12 Posts

Balance Point - Bryce G's Idea

Hi Guys,

Code for TS/MC.
Trading purpose : Very strong sup/res analysis.


New here so I wanted to contribute some of my coding and ideas.

Having read Bryce Gylmore journals, I coded his Balance point idea.
This is my personal coding so no copyright issues will come up.

Hope this helps.

The code:
------------------------------------------------------------------
inputs: middle3dTLColor(Yellow), Use2Day(true),middle2dTLC olor(Red),
UseYesterdayHL(true), middleYesterdayTLColor(Bl ue), Use4Day(true),middle4dTLC olor(Magenta),
Use5Day(true),middle5dTLC olor(Cyan), Use10Day(true),middle10dT LColor(Green) ;
Vars:numOfDays(0), isGlobex(false), SessionNum(0),
High3D(0), Low3D(0), middle3D(0),
prev3DHighTrendLine(0), prev3DHighText(0),
prev3DLowTrendLine(0), prev3DLowText(0),
middle3DTL(0), middle3DText(0), numOfPrevDays(4),

High2D(0), Low2D(0), middle2D(0),
prev2DHighTrendLine(-1), prev2DHighText(-1), prev2DLowTrendLine(-1), prev2DLowText(-1),
middle2DTL(-1), middle2DText(-1), numOfPrev2Days(3),

High1D(0), Low1D(0), middle1D(0),
prev1DHighTrendLine(-1), prev1DHighText(-1), prev1DLowTrendLine(-1), prev1DLowText(-1),
middle1DTL(-1), middle1DText(-1), numOfPrev1Days(2),

High4D(0), Low4D(0), middle4D(0),
prev4DHighTrendLine(-1), prev4DHighText(-1), prev4DLowTrendLine(-1), prev4DLowText(-1),
middle4DTL(-1), middle4DText(-1), numOfPrev4Days(5),

High5D(0), Low5D(0), middle5D(0),
prev5DHighTrendLine(-1), prev5DHighText(-1), prev5DLowTrendLine(-1), prev5DLowText(-1),
middle5DTL(-1), middle5DText(-1), numOfPrev5Days(6),
High10D(0), Low10D(0), middle10D(0),
prev10DHighTrendLine(-1), prev10DHighText(-1), prev10DLowTrendLine(-1), prev10DLowText(-1),
middle10DTL(-1), middle10DText(-1), numOfPrev10Days(11),

HighTrendLine(-1), HighText(-1), LowTrendLine(-1), LowText(-1),tempdaysback(0) ;

if lastbaronchart then begin

if (DayOfWeek(date) <6 and DayOfWeek(date)<>0) then
SessionNum = DayOfWeek(date)
else
SessionNum = 1;

isGlobex = InStr(symbolname,".D") > 0;
if (bartype <> 2) then begin
if (isGlobex=false) then begin
if ( SessionEndTime(1,SessionN um) = time and dayofweek(date) = 5) then
numOfDays = 1
else if (dayofweek(date) = 4 or dayofweek(date) = 5 or dayofweek(date) = 3 or dayofweek(date) = 2) then
numOfDays = 2
else if (dayofweek(date) = 1) then
numOfDays = 4
else if (dayofweek(date) = 6) then
numOfDays = 0
else if (dayofweek(date) = 0) then
numOfDays = 5;
end else begin
if ( SessionEndTime(1,SessionN um) = time) then begin
if (dayofweek(date) = 1) then
numOfDays = 3
else if (dayofweek(date) = 5) then
numOfDays = 0
else
numOfDays = 1;
end else begin
if ( dayofweek(date) = 4 or dayofweek(date) = 5 or dayofweek(date) = 3 or dayofweek(date) = 2) then
numOfDays = 1
else if (dayofweek(date) = 1) then
numOfDays = 3
else if (dayofweek(date) = 0 ) then
numOfDays = 4
else if (dayofweek(date) = 6) then
numOfDays =2;
end;
end;
end;

//3Days
High3D = MaxList(HighD(1), HighD(2), HighD(3));
Low3D = MinList(LowD(1), LowD(2), LowD(3));
if (DayOfWeek(currentDate) = 6 or DayOfWeek(currentDate) = 0) then begin
High3D = MaxList(HighD(0), HighD(1), HighD(2));
Low3D = MinList(LowD(0), LowD(1), LowD(2));
end else if((DayOfWeek(currentDate ) = 1 or DayOfWeek(currentDate) = 2 or DayOfWeek(currentDate) = 3 )
and (bartype<>2 and isGlobex=false)) then begin
High3D = MaxList(HighD(1),HighD(2) , HighD(3), HighD(4));
Low3D = MinList(LowD(1),LowD(2), LowD(3), LowD(4));
end;
middle3D = Low3D+(High3D-Low3D)/2;
tempdaysback = numOfDays+2;
if (dayofweek(date) = 3 or dayofweek(date) = 2) then begin
if (isGlobex=false) then
tempdaysback = 6
else
tempdaysback = 5;
end;

if (prev3DHighTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev3DHighTre ndLine,JulianToDate(DateT oJulian(Date[numOfPrevDays])), SessionStartTime(1,Sessio nNum), High3D)
else
TL_SetBegin(prev3DHighTre ndLine,JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum), High3D);

TL_SetEnd(prev3DHighTrend Line, Date, Time+2, High3D);
end else begin
if (bartype = 2) then
prev3DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrevDays])), SessionStartTime(1,Sessio nNum) , High3D, DATE, time+2 , High3D)
else
prev3DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , High3D, DATE, time+2 , High3D);

TL_SetColor(prev3DHighTre ndLine, middle3dTLColor);
TL_SetStyle(prev3DHighTre ndLine, 4);
end;
if (prev3DHighText > 0) then
Text_SetLocation (prev3DHighText, date, time+2 ,High3D)
else begin
prev3DHighText = Text_New(DATE, TIME+2 , High3D, " 3 Day High ("+numtostr(High3D,4)+")" );
Text_SetStyle (prev3DHighText, 0, 2);
TEXT_SETCOLOR(prev3DHighT ext, middle3dTLColor);
end;

if (prev3DLowTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev3DLowTren dLine, JulianToDate(DateToJulian (Date[numOfPrevDays])), SessionStartTime(1,Sessio nNum), Low3D)
else
TL_SetBegin(prev3DLowTren dLine, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), Low3D);
TL_SetEnd(prev3DLowTrendL ine, Date, Time+2, Low3D);
end else begin
if (bartype = 2) then
prev3DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrevDays])), SessionStartTime(1,Sessio nNum) , Low3D, DATE, time+2, Low3D)
else
prev3DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , Low3D, DATE, time+2, Low3D);
TL_SetColor(prev3DLowTren dLine, middle3dTLColor);
TL_SetStyle(prev3DLowTren dLine, 4);
end;
if (prev3DLowText > 0) then
Text_SetLocation (prev3DLowText, date, time+2 ,Low3D)
else begin
prev3DLowText = Text_New(DATE, TIME+2 , Low3D, " 3 Day Low ("+numtostr(Low3D,4)+")") ;
Text_SetStyle (prev3DLowText, 0, 2);
TEXT_SETCOLOR(prev3DLowTe xt, middle3dTLColor);
end;

if (middle3DTL > 0) then begin
if (bartype = 2) then
TL_SetBegin(middle3DTL, JulianToDate(DateToJulian (Date[numOfPrevDays])), SessionStartTime(1,Sessio nNum), middle3D)
else
TL_SetBegin(middle3DTL, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), middle3D);
TL_SetEnd(middle3DTL, Date, Time+2, middle3D);
end else begin
if (bartype = 2) then
middle3DTL= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrevDays])), SessionStartTime(1,Sessio nNum) , middle3D, DATE, time+2, middle3D)
else
middle3DTL= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , middle3D, DATE, time+2, middle3D);
TL_SETSIZE(middle3DTL, 2);
TL_SetColor(middle3DTL, middle3dTLColor);
end;
if (middle3DText > 0) then
Text_SetLocation (middle3DText, date, time+2 ,middle3D)
else begin
middle3DText = Text_New(DATE, TIME+2 , middle3D, " 3 Day BPOINT ("+numtostr(middle3D,4)+" )");
Text_SetStyle (middle3DText, 0, 2);
TEXT_SETCOLOR(middle3DTex t, middle3dTLColor);
end;


//2 days
if (Use2Day) then begin
High2D = MaxList(HighD(1), HighD(2));
Low2D = MinList(LowD(1), LowD(2));
if (DayOfWeek(currentDate) = 6 or DayOfWeek(currentDate) = 0) then begin
High2D = MaxList(HighD(0), HighD(1));
Low2D = MinList(LowD(0), LowD(1));
end else if((DayOfWeek(currentDate ) = 1 or DayOfWeek(currentDate) = 2) and (bartype<>2 and isGlobex=false)) then begin
High2D = MaxList(HighD(1),HighD(2) , HighD(3));
Low2D = MinList(LowD(1),LowD(2), LowD(3));
end;
middle2D = Low2D+(High2D-Low2D)/2;

tempdaysback = numOfDays+1;
if (dayofweek(date) = 2) then begin
if (isGlobex=false) then
tempdaysback = 5
else
tempdaysback = 4;
end;

if (prev2DHighTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev2DHighTre ndLine, JulianToDate(DateToJulian (Date[numOfPrev2Days])), SessionStartTime(1,Sessio nNum), High2D)
else
TL_SetBegin(prev2DHighTre ndLine, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), High2D);

TL_SetEnd(prev2DHighTrend Line, Date, Time+2, High2D);
end else begin
if (bartype = 2) then
prev2DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev2Days])), SessionStartTime(1,Sessio nNum) , High2D, DATE, time+2 , High2D)
else
prev2DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , High2D, DATE, time+2 , High2D);

TL_SetColor(prev2DHighTre ndLine, middle2dTLColor);
TL_SetStyle(prev2DHighTre ndLine, 4);
end;
if (prev2DHighText > 0) then
Text_SetLocation (prev2DHighText, date, time+2 ,High2D)
else begin
prev2DHighText = Text_New(DATE, TIME+2 , High2D, " 2 Day High ("+numtostr(High2D,4)+")" );
Text_SetStyle (prev2DHighText, 0, 0);
TEXT_SETCOLOR(prev2DHighT ext, middle2dTLColor);
end;

if (prev2DLowTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev2DLowTren dLine, JulianToDate(DateToJulian (Date[numOfPrev2Days])), SessionStartTime(1,Sessio nNum), Low2D)
else
TL_SetBegin(prev2DLowTren dLine, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), Low2D);
TL_SetEnd(prev2DLowTrendL ine, Date, Time+2, Low2D);
end else begin
if (bartype = 2) then
prev2DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev2Days])), SessionStartTime(1, SessionNum) , Low2D, DATE, time+2, Low2D)
else
prev2DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1, SessionNum) , Low2D, DATE, time+2, Low2D);

TL_SetColor(prev2DLowTren dLine, middle2dTLColor);
TL_SetStyle(prev2DLowTren dLine, 4);
end;
if (prev2DLowText > 0) then
Text_SetLocation (prev2DLowText, date, time+2 ,Low2D)
else begin
prev2DLowText = Text_New(DATE, TIME+2 , Low2D, " 2 Day Low ("+numtostr(Low2D,4)+")") ;
Text_SetStyle (prev2DLowText, 0, 0);
TEXT_SETCOLOR(prev2DLowTe xt, middle2dTLColor);
end;


if (middle2DTL > 0) then begin
if (bartype = 2) then
TL_SetBegin(middle2DTL, JulianToDate(DateToJulian (Date[numOfPrev2Days])), SessionStartTime(1,Sessio nNum), middle2D)
else
TL_SetBegin(middle2DTL, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), middle2D);

TL_SetEnd(middle2DTL, Date, Time+2, middle2D);
end else begin
if (bartype = 2) then
middle2DTL= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev2Days])), SessionStartTime(1,Sessio nNum) , middle2D, DATE, time+2, middle2D)
else
middle2DTL= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , middle2D, DATE, time+2, middle2D);
TL_SETSIZE(middle2DTL, 2);
TL_SetColor(middle2DTL, middle2dTLColor);
end;
if (middle2DText > 0) then
Text_SetLocation (middle2DText, date, time+2 ,middle2D)
else begin
middle2DText = Text_New(DATE, TIME+2 , middle2D, " 2 Day BPOINT ("+numtostr(middle2D,4)+" )");
Text_SetStyle (middle2DText, 0, 0);
TEXT_SETCOLOR(middle2DTex t, middle2dTLColor);
end;
end;

if (UseYesterdayHL) then begin
High1D = HighD(1);
Low1D = LowD(1);
if (DayOfWeek(currentDate) = 6 or DayOfWeek(currentDate) = 0) then begin
High1D =HighD(0);
Low1D = LowD(0);
end else if(DayOfWeek(currentDate) = 1 and (bartype<>2 and isGlobex=false)) then begin
High1D = MaxList(HighD(1), HighD(2));
Low1D = MinList(LowD(1), LowD(2));
end;
middle1D = Low1D+(High1D-Low1D)/2;

if (prev1DHighTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev1DHighTre ndLine, JulianToDate(DateToJulian (Date[numOfPrev1Days])), SessionStartTime(1,Sessio nNum), High1D)
else
TL_SetBegin(prev1DHighTre ndLine, JulianToDate(DateToJulian (Date)-numOfDays), SessionStartTime(1,Sessio nNum), High1D);
TL_SetEnd(prev1DHighTrend Line, Date, Time+2, High1D);
end else begin
if (bartype = 2) then
prev1DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev1Days])), SessionStartTime(1,Sessio nNum) , High1D, DATE, time+2 , High1D)
else
prev1DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays), SessionStartTime(1,Sessio nNum) , High1D, DATE, time+2 , High1D);
TL_SetColor(prev1DHighTre ndLine, middleYesterdayTLColor);
TL_SetStyle(prev1DHighTre ndLine, 4);
end;
if (prev1DHighText > 0) then
Text_SetLocation (prev1DHighText, date, time+2 ,High1D)
else begin
prev1DHighText = Text_New(DATE, TIME+2 , High1D, " 1 Day High ("+numtostr(High1D,4)+")" );
Text_SetStyle (prev1DHighText, 0, 1);
TEXT_SETCOLOR(prev1DHighT ext, middleYesterdayTLColor);
end;

if (prev1DLowTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev1DLowTren dLine, JulianToDate(DateToJulian (Date[numOfPrev1Days])), SessionStartTime(1,Sessio nNum), Low1D)
else
TL_SetBegin(prev1DLowTren dLine, JulianToDate(DateToJulian (Date)-numOfDays), SessionStartTime(1,Sessio nNum), Low1D);
TL_SetEnd(prev1DLowTrendL ine, Date, Time+2, Low1D);
end else begin
if (bartype = 2) then
prev1DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev1Days])), SessionStartTime(1, SessionNum) , Low1D, DATE, time+2, Low1D)
else
prev1DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays), SessionStartTime(1, SessionNum) , Low1D, DATE, time+2, Low1D);

TL_SetColor(prev1DLowTren dLine, middleYesterdayTLColor);
TL_SetStyle(prev1DLowTren dLine, 4);
end;
if (prev1DLowText > 0) then
Text_SetLocation (prev1DLowText, date, time+2 ,Low1D)
else begin
prev1DLowText = Text_New(DATE, TIME+2 , Low1D, " 1 Day Low ("+numtostr(Low1D,4)+")") ;
Text_SetStyle (prev1DLowText, 0, 1);
TEXT_SETCOLOR(prev1DLowTe xt, middleYesterdayTLColor);
end;


if (middle1DTL > 0) then begin
if (bartype = 2) then
TL_SetBegin(middle1DTL, JulianToDate(DateToJulian (Date[numOfPrev1Days])), SessionStartTime(1,Sessio nNum), middle1D)
else
TL_SetBegin(middle1DTL, JulianToDate(DateToJulian (Date)-numOfDays), SessionStartTime(1,Sessio nNum), middle1D);
TL_SetEnd(middle1DTL, Date, Time+2, middle1D);
end else begin
if (bartype = 2) then
middle1DTL= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev1Days])), SessionStartTime(1,Sessio nNum) , middle1D, DATE, time+2, middle1D)
else
middle1DTL= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays), SessionStartTime(1,Sessio nNum) , middle1D, DATE, time+2, middle1D);
TL_SETSIZE(middle1DTL, 2);
TL_SetColor(middle1DTL, middleYesterdayTLColor);
end;
if (middle1DText > 0) then
Text_SetLocation (middle1DText, date, time+2 ,middle1D)
else begin
middle1DText = Text_New(DATE, TIME+2 , middle1D, " 1 Day BPOINT ("+numtostr(middle1D,4)+" )");
Text_SetStyle (middle1DText, 0, 1);
TEXT_SETCOLOR(middle1DTex t, middleYesterdayTLColor);
end;
end;

//4 days
if (Use4Day) then begin
High4D = MaxList(HighD(1), HighD(2), HighD(3), HighD(4));
Low4D = MinList(LowD(1), LowD(2),LowD(3), LowD(4));
if (DayOfWeek(currentDate) = 6 or DayOfWeek(currentDate) = 0) then begin
High4D = MaxList(HighD(0), HighD(1), HighD(2), HighD(3));
Low4D = MinList(LowD(0), LowD(1), LowD(2), LowD(3));
end else if((DayOfWeek(currentDate ) = 1 or DayOfWeek(currentDate) =2 or DayOfWeek(currentDate) = 3 or DayOfWeek(currentDate) = 4)
and (bartype<>2 and isGlobex=false)) then begin
High4D = MaxList(HighD(1),HighD(2) , HighD(3), HighD(4), HighD(5));
Low4D = MinList(LowD(1),LowD(2), LowD(3),LowD(4), LowD(5));
end;
middle4D = Low4D+(High4D-Low4D)/2;
tempdaysback = numOfDays+3;
if (dayofweek(date) = 4 or dayofweek(date) = 3 or dayofweek(date) = 2) then begin
if (isGlobex=false) then
tempdaysback = 7
else
tempdaysback = 6;
end else if (dayofweek(date) = 5) then begin
if (isGlobex=false) then
tempdaysback = 5
else
tempdaysback = 4;
if (SessionEndTime(1,5) = time) then
tempdaysback = tempdaysback-1;
end;
if (prev4DHighTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev4DHighTre ndLine, JulianToDate(DateToJulian (Date[numOfPrev4Days])), SessionStartTime(1,Sessio nNum), High4D)
else
TL_SetBegin(prev4DHighTre ndLine, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), High4D);

TL_SetEnd(prev4DHighTrend Line, Date, Time+2, High4D);
end else begin
if (bartype = 2) then
prev4DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev4Days])), SessionStartTime(1,Sessio nNum) , High4D, DATE, time+2 , High4D)
else
prev4DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , High4D, DATE, time+2 , High4D);

TL_SetColor(prev4DHighTre ndLine, middle4dTLColor);
TL_SetStyle(prev4DHighTre ndLine, 4);
end;
if (prev4DHighText > 0) then
Text_SetLocation (prev4DHighText, date, time+2 ,High4D)
else begin
prev4DHighText = Text_New(DATE, TIME+2 , High4D, " 4 Day High ("+numtostr(High4D,4)+")" );
Text_SetStyle (prev4DHighText, 0, 2);
TEXT_SETCOLOR(prev4DHighT ext, middle4dTLColor);
end;

if (prev4DLowTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev4DLowTren dLine, JulianToDate(DateToJulian (Date[numOfPrev4Days])), SessionStartTime(1,Sessio nNum), Low4D)
else
TL_SetBegin(prev4DLowTren dLine, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), Low4D);
TL_SetEnd(prev4DLowTrendL ine, Date, Time+2, Low4D);
end else begin
if (bartype = 2) then
prev4DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev4Days])), SessionStartTime(1, SessionNum) , Low4D, DATE, time+2, Low4D)
else
prev4DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1, SessionNum) , Low4D, DATE, time+2, Low4D);

TL_SetColor(prev4DLowTren dLine, middle4dTLColor);
TL_SetStyle(prev4DLowTren dLine, 4);
end;
if (prev4DLowText > 0) then
Text_SetLocation (prev4DLowText, date, time+2 ,Low4D)
else begin
prev4DLowText = Text_New(DATE, TIME+2 , Low4D, " 4 Day Low ("+numtostr(Low4D,4)+")") ;
Text_SetStyle (prev4DLowText, 0, 2);
TEXT_SETCOLOR(prev4DLowTe xt, middle4dTLColor);
end;


if (middle4DTL > 0) then begin
if (bartype = 2) then
TL_SetBegin(middle4DTL, JulianToDate(DateToJulian (Date[numOfPrev4Days])), SessionStartTime(1,Sessio nNum), middle4D)
else
TL_SetBegin(middle4DTL, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), middle4D);

TL_SetEnd(middle4DTL, Date, Time+2, middle4D);
end else begin
if (bartype = 2) then
middle4DTL= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev4Days])), SessionStartTime(1,Sessio nNum) , middle4D, DATE, time+2, middle4D)
else
middle4DTL= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , middle4D, DATE, time+2, middle4D);
TL_SETSIZE(middle4DTL, 2);
TL_SetColor(middle4DTL, middle4dTLColor);
end;
if (middle4DText > 0) then
Text_SetLocation (middle4DText, date, time+2 ,middle4D)
else begin
middle4DText = Text_New(DATE, TIME+2 , middle4D, " 4 Day BPOINT ("+numtostr(middle4D,4)+" )");
Text_SetStyle (middle4DText, 0, 2);
TEXT_SETCOLOR(middle4DTex t, middle4dTLColor);
end;
end;

//5 days
if (Use5Day) then begin
High5D = MaxList(HighD(1), HighD(2), HighD(3), HighD(4), HighD(5));
Low5D = MinList(LowD(1), LowD(2),LowD(3), LowD(4), LowD(5));
if (DayOfWeek(currentDate) = 6 or DayOfWeek(currentDate) = 0) then begin
High5D = MaxList(HighD(0), HighD(1), HighD(2), HighD(3), HighD(4));
Low5D = MinList(LowD(0), LowD(1), LowD(2), LowD(3), LowD(4));
end else if(DayOfWeek(currentDate) = 1 or DayOfWeek(currentDate) = 2 or DayOfWeek(currentDate) = 3 or DayOfWeek(currentDate) = 4)
and (bartype<>2 and isGlobex=false) then begin
High5D = MaxList(HighD(1),HighD(2) , HighD(3), HighD(4), HighD(5), HighD(6));
Low5D = MinList(LowD(1), LowD(2), LowD(3),LowD(4), LowD(5), LowD(6));
end;
middle5D = Low5D+(High5D-Low5D)/2;
tempdaysback = numOfDays+4;
if (dayofweek(date) = 4 or dayofweek(date) = 5 or dayofweek(date) = 3 or dayofweek(date) = 2) then
if (isGlobex=false) then
tempdaysback = 8
else
tempdaysback = 7;

if (prev5DHighTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev5DHighTre ndLine, JulianToDate(DateToJulian (Date[numOfPrev5Days+1])), SessionStartTime(1,Sessio nNum), High5D)
else begin
if (dayofweek(date) = 5) then
TL_SetBegin(prev5DHighTre ndLine, JulianToDate(DateToJulian (Date)-numOfDays-6), SessionStartTime(1,Sessio nNum), High5D)
else
TL_SetBegin(prev5DHighTre ndLine, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), High5D);
end;
TL_SetEnd(prev5DHighTrend Line, Date, Time+2, High5D);
end else begin
if (bartype = 2) then
prev5DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev5Days])), SessionStartTime(1,Sessio nNum) , High5D, DATE, time+2 , High5D)
else
if (dayofweek(date) = 5) then
prev5DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays-6), SessionStartTime(1,Sessio nNum) , High5D, DATE, time+2 , High5D)
else
prev5DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , High5D, DATE, time+2 , High5D);

TL_SetColor(prev5DHighTre ndLine, middle5dTLColor);
TL_SetStyle(prev5DHighTre ndLine, 4);
end;
if (prev5DHighText > 0) then
Text_SetLocation (prev5DHighText, date, time+2 ,High5D)
else begin
prev5DHighText = Text_New(DATE, TIME+2 , High5D, " 5 Day High ("+numtostr(High5D,4)+")" );
Text_SetStyle (prev5DHighText, 0, 0);
TEXT_SETCOLOR(prev5DHighT ext, middle5dTLColor);
end;

if (prev5DLowTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev5DLowTren dLine, JulianToDate(DateToJulian (Date[numOfPrev5Days])), SessionStartTime(1,Sessio nNum), Low5D)
else
if (dayofweek(date) = 5) then
TL_SetBegin(prev5DLowTren dLine, JulianToDate(DateToJulian (Date)-numOfDays-6), SessionStartTime(1,Sessio nNum), Low5D)
else
TL_SetBegin(prev5DLowTren dLine, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), Low5D);
TL_SetEnd(prev5DLowTrendL ine, Date, Time+2, Low5D);
end else begin
if (bartype = 2) then
prev5DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev5Days])), SessionStartTime(1, SessionNum) , Low5D, DATE, time+2, Low5D)
else
if (dayofweek(date) = 5) then
prev5DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays-6), SessionStartTime(1, SessionNum) , Low5D, DATE, time+2, Low5D)
else
prev5DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1, SessionNum) , Low5D, DATE, time+2, Low5D);

TL_SetColor(prev5DLowTren dLine, middle5dTLColor);
TL_SetStyle(prev5DLowTren dLine, 4);
end;
if (prev5DLowText > 0) then
Text_SetLocation (prev5DLowText, date, time+2 ,Low5D)
else begin
prev5DLowText = Text_New(DATE, TIME+2 , Low5D, " 5 Day Low ("+numtostr(Low5D,4)+")") ;
Text_SetStyle (prev5DLowText, 0, 0);
TEXT_SETCOLOR(prev5DLowTe xt, middle5dTLColor);
end;


if (middle5DTL > 0) then begin
if (bartype = 2) then
TL_SetBegin(middle5DTL, JulianToDate(DateToJulian (Date[numOfPrev5Days])), SessionStartTime(1,Sessio nNum), middle5D)
else
if (dayofweek(date) = 5) then
TL_SetBegin(middle5DTL, JulianToDate(DateToJulian (Date)-numOfDays-6), SessionStartTime(1,Sessio nNum), middle5D)
else
TL_SetBegin(middle5DTL, JulianToDate(DateToJulian (Date)-tempdaysback), SessionStartTime(1,Sessio nNum), middle5D);

TL_SetEnd(middle5DTL, Date, Time+2, middle5D);
end else begin
if (bartype = 2) then
middle5DTL= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev5Days])), SessionStartTime(1,Sessio nNum) , middle5D, DATE, time+2, middle5D)
else
if (dayofweek(date) = 5) then
middle5DTL= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays-6), SessionStartTime(1,Sessio nNum) , middle5D, DATE, time+2, middle5D)
else
middle5DTL= TL_NEW(JulianToDate(DateT oJulian(Date)-tempdaysback), SessionStartTime(1,Sessio nNum) , middle5D, DATE, time+2, middle5D);
TL_SETSIZE(middle5DTL, 2);
TL_SetColor(middle5DTL, middle5dTLColor);
end;
if (middle5DText > 0) then
Text_SetLocation (middle5DText, date, time+2 ,middle5D)
else begin
middle5DText = Text_New(DATE, TIME+2 , middle5D, " 5 Day BPOINT ("+numtostr(middle5D,4)+" )");
Text_SetStyle (middle5DText, 0, 0);
TEXT_SETCOLOR(middle5DTex t, middle5dTLColor);
end;
end;

//10 days
if (Use10Day) then begin
High10D = MaxList(HighD(1), HighD(2), HighD(3), HighD(4), HighD(5), HighD(6), HighD(7), HighD(8), HighD(9), HighD(10));
Low10D = MinList(LowD(1), LowD(2),LowD(3), LowD(4), LowD(5), LowD(6), LowD(7),LowD(8), LowD(9), LowD(10));
if (DayOfWeek(currentDate) = 6 or DayOfWeek(currentDate) = 0) then begin
High10D = MaxList(HighD(0),HighD(1) , HighD(2), HighD(3), HighD(4), HighD(5), HighD(6), HighD(7), HighD(8), HighD(9));
Low10D = MinList(LowD(0), LowD(1), LowD(2),LowD(3), LowD(4), LowD(5), LowD(6), LowD(7),LowD(8), LowD(9));
end else if((bartype<>2 and isGlobex=false)) then begin
High10D = MaxList(HighD(1), HighD(2), HighD(3), HighD(4), HighD(5), HighD(6),HighD(7), HighD(8), HighD(9), HighD(10), HighD(11), HighD(12));
Low10D = MinList(HighD(1), LowD(2), LowD(3),LowD(4), LowD(5), LowD(6),LowD(7), LowD(8),LowD(9), LowD(10), LowD(11), LowD(12));
end;
middle10D = Low10D+(High10D-Low10D)/2;

numOfDays = numOfDays+2;

if (prev10DHighTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev10DHighTr endLine, JulianToDate(DateToJulian (Date[numOfPrev10Days])), SessionStartTime(1,Sessio nNum), High10D)
else
TL_SetBegin(prev10DHighTr endLine, JulianToDate(DateToJulian (Date)-numOfDays-11), SessionStartTime(1,Sessio nNum), High10D);

TL_SetEnd(prev10DHighTren dLine, Date, Time+2, High10D);
end else begin
if (bartype = 2) then
prev10DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev10Days])), SessionStartTime(1,Sessio nNum) , High10D, DATE, time+2 , High10D)
else
prev10DHighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays-11), SessionStartTime(1,Sessio nNum) , High10D, DATE, time+2 , High10D);

TL_SetColor(prev10DHighTr endLine, middle10dTLColor);
TL_SetStyle(prev10DHighTr endLine, 4);
end;
if (prev10DHighText > 0) then
Text_SetLocation (prev10DHighText, date, time+2 ,High10D)
else begin
prev10DHighText = Text_New(DATE, TIME+2 , High10D, " 10 Day High ("+numtostr(High10D,4)+") ");
Text_SetStyle (prev10DHighText, 0, 1);
TEXT_SETCOLOR(prev10DHigh Text, middle10dTLColor);
end;

if (prev10DLowTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(prev10DLowTre ndLine, JulianToDate(DateToJulian (Date[numOfPrev10Days])), SessionStartTime(1,Sessio nNum), Low10D)
else
TL_SetBegin(prev10DLowTre ndLine, JulianToDate(DateToJulian (Date)-numOfDays-11), SessionStartTime(1,Sessio nNum), Low10D);
TL_SetEnd(prev10DLowTrend Line, Date, Time+2, Low10D);
end else begin
if (bartype = 2) then
prev10DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev10Days])), SessionStartTime(1, SessionNum) , Low10D, DATE, time+2, Low10D)
else
prev10DLowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays-11), SessionStartTime(1, SessionNum) , Low10D, DATE, time+2, Low10D);

TL_SetColor(prev10DLowTre ndLine, middle10dTLColor);
TL_SetStyle(prev10DLowTre ndLine, 4);
end;
if (prev10DLowText > 0) then
Text_SetLocation (prev10DLowText, date, time+2 ,Low10D)
else begin
prev10DLowText = Text_New(DATE, TIME+2 , Low10D, " 10 Day Low ("+numtostr(Low10D,4)+")" );
Text_SetStyle (prev10DLowText, 0, 1);
TEXT_SETCOLOR(prev10DLowT ext, middle10dTLColor);
end;


if (middle10DTL > 0) then begin
if (bartype = 2) then
TL_SetBegin(middle10DTL, JulianToDate(DateToJulian (Date[numOfPrev10Days])), SessionStartTime(1,Sessio nNum), middle10D)
else
TL_SetBegin(middle10DTL, JulianToDate(DateToJulian (Date)-numOfDays-11), SessionStartTime(1,Sessio nNum), middle10D);

TL_SetEnd(middle10DTL, Date, Time+2, middle10D);
end else begin
if (bartype = 2) then
middle10DTL= TL_NEW(JulianToDate(DateT oJulian(Date[numOfPrev10Days])), SessionStartTime(1,Sessio nNum) , middle10D, DATE, time+2, middle10D)
else
middle10DTL= TL_NEW(JulianToDate(DateT oJulian(Date)-numOfDays-11), SessionStartTime(1,Sessio nNum) , middle10D, DATE, time+2, middle10D);
TL_SETSIZE(middle10DTL, 2);
TL_SetColor(middle10DTL, middle10dTLColor);
end;
if (middle10DText > 0) then
Text_SetLocation (middle10DText, date, time+2 ,middle10D)
else begin
middle10DText = Text_New(DATE, TIME+2 , middle10D, " 10 Day BPOINT ("+numtostr(middle10D,4)+ ")");
Text_SetStyle (middle10DText, 0, 1);
TEXT_SETCOLOR(middle10DTe xt, middle10dTLColor);
end;
end;


if (isGlobex = false) then begin
if (DayOfWeek(date) = 6 or DayOfWeek(date)=0) then
SessionNum = 1
else
SessionNum = DayOfWeek(date);
if (HighTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(HighTrendLine , JulianToDate(DateToJulian (Date[1])), SessionStartTime(1,Sessio nNum), HighD(0))
else
TL_SetBegin(HighTrendLine , JulianToDate(DateToJulian (Date)-1), SessionStartTime(1,Sessio nNum), HighD(0));

TL_SetEnd(HighTrendLine, Date, Time+2, HighD(0));
end else begin
if (bartype = 2) then
HighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[1])), SessionStartTime(1,Sessio nNum) , HighD(0), DATE, time+2 , HighD(0))
else
HighTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-1), SessionStartTime(1,Sessio nNum) , HighD(0), DATE, time+2 , HighD(0));

TL_SetColor(HighTrendLine , White);
TL_SETSIZE(HighTrendLine, 2);
end;
if (HighText > 0) then begin
Text_SetLocation (HighText, date, time+2 , HighD(0));
Text_SetString (HighText, numtostr(HighD(0),4));
end else begin
HighText = Text_New(DATE, TIME+2 , HighD(0), " Today Globex High ("+numtostr( HighD(0),4)+")");
Text_SetStyle (HighText, 0, 2);
TEXT_SETCOLOR(HighText, White);
end;
if (LowTrendLine > 0) then begin
if (bartype = 2) then
TL_SetBegin(LowTrendLine, JulianToDate(DateToJulian (Date[1])), SessionStartTime(1,Sessio nNum), LowD(0))
else
TL_SetBegin(LowTrendLine, JulianToDate(DateToJulian (Date)-1), SessionStartTime(1,Sessio nNum), LowD(0));

TL_SetEnd(LowTrendLine, Date, Time+2, LowD(0));
end else begin
if (bartype = 2) then
LowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date[1])), SessionStartTime(1,Sessio nNum) , LowD(0), DATE, time+2 , LowD(0))
else
LowTrendLine= TL_NEW(JulianToDate(DateT oJulian(Date)-1), SessionStartTime(1,Sessio nNum) , LowD(0), DATE, time+2 , LowD(0));

TL_SetColor(LowTrendLine, White);
TL_SETSIZE(LowTrendLine, 2);
end;
if (LowText > 0) then begin
Text_SetLocation (LowText, date, time+2 ,LowD(0));
Text_SetString (LowText, numtostr(LowD(0),4));
end else begin
LowText = Text_New(DATE, TIME+2 , LowD(0), " Today Globex Low ("+numtostr( LowD(0),4)+")");
Text_SetStyle (LowText, 0, 2);
TEXT_SETCOLOR(LowText, White);
end;
end;
end;
programmer is offline  
Reply With Quote
The Following 7 Users Say Thank You to programmer For This Useful Post:
Blu-Ray (04-28-2009), cooper59 (05-11-2009), JBWTrader (04-28-2009), Moyyim (04-28-2009), RickAce (07-28-2009), Tams (04-28-2009), thrunner (04-28-2009)
Old 04-28-2009, 09:22 AM   #2

Blu-Ray's Avatar

Join Date: Nov 2006
Location: England
Posts: 508
Ignore this user

Thanks: 164
Thanked 292 Times in 105 Posts

Balance Point - Bryce G's Idea

Thanks for this, it looks very interesting.

I've attached the ELD & also a txt file as I've just corrected some of errors that occur when copy & pasting code straight onto the thread.

Cheers

Blu-Ray
Attached Files
File Type: eld BRYCEGYLMORESR.ELD (35.3 KB, 97 views)
File Type: txt BryceGylmoreSR.txt (29.2 KB, 57 views)
__________________

“ Search is the ultimate expression of the power of the individual, using a computer, looking at the world, and finding exactly what they want ” – Eric Schmidt, Google
Blu-Ray is offline  
Reply With Quote
The Following 6 Users Say Thank You to Blu-Ray For This Useful Post:
cooper59 (05-11-2009), JBWTrader (04-28-2009), Moyyim (04-28-2009), RickAce (07-28-2009), Tams (04-28-2009), thrunner (04-28-2009)
Old 04-28-2009, 09:28 AM   #3

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: Balance Point - Bryce G's Idea

Quote:
Originally Posted by programmer »
Hi Guys,

Code for TS/MC.
Trading purpose : Very strong sup/res analysis.


New here so I wanted to contribute some of my coding and ideas.

Having read Bryce Gylmore journals, I coded his Balance point idea.
This is my personal coding so no copyright issues will come up.

Hope this helps.

The code:...


this looks very nice.

Thank you.
Tams is offline  
Reply With Quote
Old 04-28-2009, 11:28 AM   #4

Join Date: Apr 2009
Location: London
Posts: 36
Ignore this user

Thanks: 1
Thanked 33 Times in 12 Posts

Re: Balance Point - Bryce G's Idea

You are welcome guys.
Sorry for pasting the code into the thread. Moderator please fix this.

PS - As you can see I actually enhanced the code, because Gylmore's idea is only for a 3 day balance point which is less than sufficient....So I added some points.
As with reversals take caution and use reversal approaches, to elliminate false moves.
I would seek confluence of major pivots with this .
programmer is offline  
Reply With Quote
Old 04-28-2009, 11:34 AM   #5

Soultrader's Avatar

Status: Super Moderator
Join Date: Aug 2006
Location: Tokyo
Posts: 3,623
Ignore this user

Thanks: 545
Thanked 1,370 Times in 491 Posts
Blog Entries: 4

Re: Balance Point - Bryce G's Idea

Hi, could you please post this as an eld or txt format with a screenshot in the indicator forum? I would like other members to be able to find this as the coding forum is meant for coding request and help. Would appreciate it. Thanks.
__________________

Soultrader is offline  
Reply With Quote
Old 04-28-2009, 11:42 AM   #6

Join Date: Apr 2009
Location: London
Posts: 36
Ignore this user

Thanks: 1
Thanked 33 Times in 12 Posts

Re: Balance Point - Bryce G's Idea

Quote:
Originally Posted by Soultrader »
Hi, could you please post this as an eld or txt format with a screenshot in the indicator forum? I would like other members to be able to find this as the coding forum is meant for coding request and help. Would appreciate it. Thanks.
James,
I have tried to post it there but I get a repeated warning and no option to post a new thread.
You have some bug in website, or I dont have enough security to post in the indicators section???
programmer is offline  
Reply With Quote
Old 04-28-2009, 11:46 AM   #7

Soultrader's Avatar

Status: Super Moderator
Join Date: Aug 2006
Location: Tokyo
Posts: 3,623
Ignore this user

Thanks: 545
Thanked 1,370 Times in 491 Posts
Blog Entries: 4

Re: Balance Point - Bryce G's Idea

Hi programmer, that is just a 10 second warning system. I implemented the warning message because many members were posting requests in that forum. The bar to proceed should popup in ten seconds after you hit new thread. Could you give it a try?

PS: please remember to post a screenshot attached to the forum system. Otherwise your indicator will not appear on the homepage. Thanks!
__________________

Soultrader is offline  
Reply With Quote
Old 04-28-2009, 11:52 AM   #8

Join Date: Apr 2009
Location: London
Posts: 36
Ignore this user

Thanks: 1
Thanked 33 Times in 12 Posts

Re: Balance Point - Bryce G's Idea

Quote:
Originally Posted by Soultrader »
Hi programmer, that is just a 10 second warning system. I implemented the warning message because many members were posting requests in that forum. The bar to proceed should popup in ten seconds after you hit new thread. Could you give it a try?

PS: please remember to post a screenshot attached to the forum system. Otherwise your indicator will not appear on the homepage. Thanks!
Ji James,

I have tried yet again and I get a loop of the warning again and again?????
Please do it for me, under my alias if you wish.
programmer is offline  
Reply With Quote

Reply

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Playing the Initial Balance TinGull Market Profile 13 10-19-2011 09:48 AM
Balance Trader Video Blog BlowFish Market Profile 6 08-13-2008 01:14 AM
Trading Balance: The Best of Both Worlds Future Technical Analysis 3 07-11-2007 04:56 PM
All about balance TinGull Market Profile 4 04-06-2007 08:42 AM
Average Initial Balance Soultrader Market Profile 4 01-10-2007 09:15 PM

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