Code is referencing yesterday's range but not today's

Questions about MultiCharts and user contributed studies.
olobay
Posts: 47
Joined: 28 Dec 2011
Has thanked: 17 times

Code is referencing yesterday's range but not today's

Postby olobay » 15 Jun 2014

--------------------------------------------------------------------------------

Hi,

I have 2 problems with the code below.

1. The code is referencing yesterday's opening range and not today's. What do I need to change to get it to reference today's opening range between the StartCalcTime and EndCalcTime?

2. Once problem 1 is solved, I would like to have the opening range trendline extend to the input value of the TLEndTime. Right now I just have a vertical line shooting straight up for the opening range trendlines.

Thanks.

Code: Select all

Inputs:
StartCalcTime (0900),
EndCalcTime (0905),
TLStartTime (0900),
TLEndTime (1430),
PlaceTextRight (true),
PlotatDateChange (true),
PlotToDateEnd (true),
IgnoreWeekends (true),
TLSize (1),
TLStyle (1),
DayHiColor (white),
DayLoColor (white),
FibR1Color (red),
FibR2Color (red),
FibR3Color (red),
FibR4Color (red),
FibS1Color (green),
FibS2Color (green),
FibS3Color (green),
FibS4Color (green);;

Variables:
Monday2Friday (false),
FibR1 (0),
FibR2 (0),
FibR3 (0),
FibR4 (0),
FibS1 (0),
FibS2 (0),
FibS3 (0),
FibS4 (0),
DayHiTL (0),
DayLoTL (0),
FibR1TL (0),
FibR2TL (0),
FibR3TL (0),
FibR4TL (0),
FibS1TL (0),
FibS2TL (0),
FibS3TL (0),
FibS4TL (0),
DayHi (-999999),
DayLo (+999999),
HaveTLs (false),
StartTime (0),
EndTime (0),
DayHiTxt (0),
DayLoTxt (0),
FibR1Txt (0),
FibR2Txt (0),
FibR3Txt (0),
FibR4Txt (0),
FibS1Txt (0),
FibS2Txt (0),
FibS3Txt (0),
FibS4Txt (0),
SessClose (0),
TextStyleHoriz (1), //0: To the right of the bar specified for the text object
//1: To the left of the bar specified for the text object
//2: Centered on the bar specified for the text object
TextStyleVert (2); //0: Beneath the price specified for the text object
//1: Above the price specified for the text object
//2: Centered on the specified price location of the text object

If IgnoreWeekends then begin
If DayOfWeek(Date) >= Monday and DayOfWeek(Date) <= Friday then
Monday2Friday = true
else
Monday2Friday = false;

end
else begin
Monday2Friday = true;
end;


If Monday2Friday then begin

If Date <> Date[1] then begin
If PlaceTextRight then
TextStyleVert = 1;

If PlotatDateChange then
StartTime = Time
else
StartTime = StartCalcTime;

EndTime = Time[1];

FibR1 = DayLo + ((DayHi - DayLo) * 2.33);
FibR2 = DayLo + ((DayHi - DayLo) * 3.82);
FibR3 = DayLo + ((DayHi - DayLo) * 5);
FibR4 = DayLo + ((DayHi - DayLo) * 6.1);
FibS1 = DayHi - ((DayHi - DayLo) * 2.33);
FibS2 = DayHi - ((DayHi - DayLo) * 3.82);
FibS3 = DayHi - ((DayHi - DayLo) * 5);
FibS4 = DayHi - ((DayHi - DayLo) * 6.1);

DayHi = -999999;
DayLo = +999999;
HaveTLs = false;

end; //If Date <> Date[1] then begin...

If Time > StartCalcTime and Time <= EndCalcTime then begin
If High >= DayHi then DayHi = High;
If Low <= DayLo then DayLo = Low;
If BarStatus(1) = 2 then
SessClose = Close;
end;//If Time > StartCalcTime and Time <= EndCalcTime then begin...

If HaveTLs = false then begin
HaveTLs = true;

DayHiTL = TL_New(Date, StartCalcTime, DayHi, Date, EndCalcTime, DayHi);
TL_SetColor(DayHiTL, DayHiColor);
TL_SetSize(DayHiTL, TLSize);
TL_SetStyle(DayHiTL, TLStyle);

DayLoTL = TL_New(Date, StartCalcTime, DayHi, Date, EndCalcTime, DayHi);
TL_SetColor(DayLoTL, DayLoColor);
TL_SetSize(DayLoTL, TLSize);
TL_SetStyle(DayLoTL, TLStyle);

FibR1TL = TL_New(Date, TLStartTime , FibR1, Date, TLEndTime , FibR1);
TL_SetColor(FibR1TL, FibR1Color);
TL_SetSize(FibR1TL, TLSize);
TL_SetStyle(FibR1TL, TLStyle);

FibR2TL = TL_New(Date, TLStartTime , FibR2, Date, TLEndTime , FibR2);
TL_SetColor(FibR2TL, FibR2Color);
TL_SetSize(FibR2TL, TLSize);
TL_SetStyle(FibR2TL, TLStyle);

FibR3TL = TL_New(Date, TlStartTime, FibR3, Date, TLEndTime, FibR3);
TL_SetColor(FibR3TL, FibR3Color);
TL_SetSize(FibR3TL, TLSize);
TL_SetStyle(FibR3TL, TLStyle);

FibR4TL = TL_New(Date, TLStartTime, FibR4, Date, TLEndTime, FibR4);
TL_SetColor(FibR4TL , FibR4Color);
TL_SetSize(FibR4TL , TLSize);
TL_SetStyle(FibR4TL , TLStyle);

FibS1TL = TL_New(Date, TLStartTime, FibS1, Date, TLEndTime, FibS1);
TL_SetColor(FibS1TL, FibS1Color);
TL_SetSize(FibS1TL, TLSize);
TL_SetStyle(FibS1TL, TLStyle);

FibS2TL = TL_New(Date, TLStartTime, FibS2, Date, TLEndTime, FibS2);
TL_SetColor(FibS2TL, FibS2Color);
TL_SetSize(FibS2TL, TLSize);
TL_SetStyle(FibS2TL, TLStyle);

FibS3TL = TL_New(Date, TLStartTime, FibS3, Date, TLEndTime, FibS3);
TL_SetColor(FibS3TL, FibS3Color);
TL_SetSize(FibS3TL, TLSize);
TL_SetStyle(FibS3TL, TLStyle);

FibS4TL = TL_New(Date, TLStartTime, FibS4, Date, TLEndTime, FibS4);
TL_SetColor(FibS4TL, FibS4Color);
TL_SetSize(FibS4TL, TLSize);
TL_SetStyle(FibS4TL, TLStyle);

DayHiTxt = Text_New(Date, TLStartTime, DayHi, "100%");
Text_SetStyle(DayHiTxt, TextStyleHoriz, TextStyleVert);
Text_SetColor(DayHiTxt, DayHiColor);

DayLoTxt = Text_New(Date, TLStartTime, DayLo, "0%");
Text_SetStyle(DayLoTxt, TextStyleHoriz, TextStyleVert);
Text_SetColor(DayLoTxt, DayLoColor);

FibR1Txt = Text_New(Date, TLStartTime, FibR1, "233%");
Text_SetStyle(FibR1Txt, TextStyleHoriz, TextStyleVert);
Text_SetColor(FibR1Txt, FibR1Color);

FibR2Txt = Text_New(Date, TLStartTime, FibR2, "382%");
Text_SetStyle(FibR2Txt, TextStyleHoriz, TextStyleVert);
Text_SetColor(FibR2Txt, FibR2Color);

FibR3Txt = Text_New(Date, TLStartTime, FibR3, "500%");
Text_SetStyle(FibR3Txt, TextStyleHoriz, TextStyleVert);
Text_SetColor(FibR3Txt, FibR3Color);

FibR4Txt = Text_New(Date, TLStartTime, FibR4, "610%");
Text_SetStyle(FibR4Txt, TextStyleHoriz, TextStyleVert);
Text_SetColor(FibR4Txt, FibR4Color);

FibS1Txt = Text_New(Date, TLStartTime, FibS1, "233%");
Text_SetStyle(FibS1Txt, TextStyleHoriz, TextStyleVert);
Text_SetColor(FibS1Txt, FibS1Color);

FibS2Txt = Text_New(Date, TLStartTime, FibS2, "382%");
Text_SetStyle(FibS2Txt, TextStyleHoriz, TextStyleVert);
Text_SetColor(FibS2Txt, FibS2Color);

FibS3Txt = Text_New(Date, TLStartTime, FibS3, "500%");
Text_SetStyle(FibS3Txt, TextStyleHoriz, TextStyleVert);
Text_SetColor(FibS3Txt, FibS3Color);

FibS4Txt = Text_New(Date, TLStartTime, FibS4, "610%");
Text_SetStyle(FibS4Txt, TextStyleHoriz, TextStyleVert);
Text_SetColor(FibS4Txt, FibS4Color);

end //If HaveTLs = false then begin...
else begin
If PlotToDateEnd then
EndTime = EndTime
else
EndTime = EndCalcTime;

TL_SetEnd(DayHiTL, Date, TLEndTime, DayHi);
TL_SetEnd(DayLoTL, Date, TLEndTime, DayLo);
TL_SetEnd(FibR1TL, Date, TLEndTime, FibR1);
TL_SetEnd(FibR2TL, Date, TLEndTime, FibR2);
TL_SetEnd(FibR3TL, Date, TLEndTime, FibR3);
TL_SetEnd(FibR4TL, Date, TLEndTime, FibR4);
TL_SetEnd(FibS1TL, Date, TLEndTime, FibS1);
TL_SetEnd(FibS2TL, Date, TLEndTime, FibS2);
TL_SetEnd(FibS3TL, Date, TLEndTime, FibS3);
TL_SetEnd(FibS4TL, Date, TLEndTime, FibS4);

If PlaceTextRight then begin
Text_SetLocation(DayHiTxt, Date, TLEndTime, DayHi);
Text_SetLocation(DayLoTxt, Date, TLEndTime, DayLo);
Text_SetLocation(FibR1Txt, Date, TLEndTime, FibR1);
Text_SetLocation(FibR2Txt, Date, TLEndTime, FibR2);
Text_SetLocation(FibR3Txt, Date, TLEndTime, FibR3);
Text_SetLocation(FibR4Txt, Date, TLEndTime, FibR4);
Text_SetLocation(FibS1Txt, Date, TLEndTime, FibS1);
Text_SetLocation(FibS2Txt, Date, TLEndTime, FibS2);
Text_SetLocation(FibS3Txt, Date, TLEndTime, FibS3);
Text_SetLocation(FibS4Txt, Date, TLEndTime, FibS4);

end; //If PlaceTextRight then begin...
end; //If HaveTLs then begin...

end; //If Monday2Friday then begin...
Attachments
problems.png
(62.58 KiB) Downloaded 275 times

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Code is referencing yesterday's range but not today's

Postby Henry MultiСharts » 13 Aug 2014

Hello olobay,

Please highlight the opening range logic you are having issues with.
What is your chart resolution?


Return to “MultiCharts”