Code: Select all
Inputs: StartTime(0830),
EndTime(915),
yHigh(93.09),
yLow(90.96),
yClose(92.96),
yHighLow_Color(darkgray),
yHighLow_Style(3),
yHighLow_LineSize(2),
yClose_Color(darkred),
yCLose_Style(3),
yClose_LineSize(2),
IB_Color(Red),
IB_Style(2),
IB_LineSize(0),
A_Color(Red),
A_Style(2),
A_LineSize(0),
C_Color(Cyan),
C_Style(3),
C_LineSize(1),
PP_Color(yellow),
PP_Style(2),
PP_LineSize(1),
TodayOnly(True);
vars: DPP(0), PV(0), PVR(0),
HighDay(0),
LowDay(0),
RangeToday(0),
LineId1(-1),
LineId2(-1),
LineId3(-1),
LineId4(-1),
LineId5(-1),
LineId6(-1),
LineId7(-1),
LineId8(-1),
LineId9(-1),
LineId10(-1),
LineId11(-1),
LineId12(-1),
LineId13(-1),
ID1(-1),
ID2(-1),
ID3(-1),
ID4(-1),
ID5(-1),
ID6(-1),
ID7(-1),
ID8(-1),
ID9(-1),
ID10(-1),
ID11(-1),
ID12(-1),
ID13(-1);
If Date <> Date[1] Then Begin // Initialize vars at max of ranges
HighDay = 0;
LowDay = 99999;
End;
If Time >= StartTime and Time <= EndTime Then Begin
// Get the high and low from the start time to end time
If H > HighDay Then HighDay = H;
If L < LowDay Then LowDay = L;
End;
If Time >= EndTime Then Begin
RangeToday = HighDay - LowDay;
// Draw the High line
If TodayOnly and LineId1 <> -1 and LineId1 <> ID1 Then TL_Delete(LineId1);
If TodayOnly and LineId1 <> -1 and LineId1 <> ID1 Then Text_Delete(LineId1);
If TodayOnly then LineId1 = ID1;
ID1 = TL_New(Date, StartTime, HighDay, Date, Time, HighDay);
If TodayOnly then Value1 = TL_SetExtRight(ID1, True);
Value1= TL_SetColor(ID1, IB_Color);
Value1= TL_SetStyle(ID1, IB_Style);
Value1= TL_SetSize(ID1, IB_LineSize);
value1= Text_New(Date, Time + 50, HighDay, "OR High");
value1= Text_SetStyle(ID1, 0, 1);
value1= Text_SetColor(ID1, IB_Color);
// Draw the Low Line
If TodayOnly and LineId2 <> -1 and LineId2 <> ID2 Then TL_Delete(LineId2);
If TodayOnly and LineId2 <> -1 and LineId2 <> ID2 Then Text_Delete(LineId2);
If TodayOnly Then LineId2 = Id2;
ID2 = TL_New(Date, StartTime, LowDay, Date, Time, LowDay);
If TodayOnly then Value1 = TL_SetExtRight(ID2, True);
Value2= TL_SetColor(ID2, IB_Color);
Value2= TL_SetStyle(ID2, IB_Style);
Value2= TL_SetSize(ID2, IB_LineSize);
value2= Text_New(Date, Time + 50, LowDay, "OR Low");
value2= Text_SetStyle(ID2, 0, 1);
value2= Text_SetColor(ID2, IB_Color);
//Draw A Up Line
If TodayOnly and LineId3 <> -1 and LineId3 <> ID3 Then TL_Delete(LineId3);
If TodayOnly and LineId3 <> -1 and LineId3 <> ID3 Then Text_Delete(LineId3);
If TodayOnly then LineId3 = ID3;
ID3 = TL_New(Date, StartTime, HighDay + .08, Date, Time, HighDay + .08);
If TodayOnly then Value1 = TL_SetExtRight(ID3, True);
value3= TL_SetColor(ID3, A_Color);
value3= TL_SetStyle(ID3, A_Style);
value3= TL_SetSize(ID3, A_LineSize);
value3= Text_New(Date, Time + 50, HighDay + .08, "A Up");
value3= Text_SetStyle(ID3, 0, 1);
value3= Text_SetColor(ID3, IB_Color);
// Draw A Down Line
If TodayOnly and LineId4 <> -1 and LineId4 <> ID4 Then TL_Delete(LineId4);
If TodayOnly and LineId4 <> -1 and LineId4 <> ID4 Then Text_Delete(LineId4);
If TodayOnly Then LineId4 = Id4;
ID4 = TL_New(Date, StartTime, LowDay - .08, Date, Time, LowDay - .08);
If TodayOnly then Value1 = TL_SetExtRight(ID4, True);
value4= TL_SetColor(ID4, A_Color);
value4= TL_SetStyle(ID4, A_Style);
value4= TL_SetSize(ID4, A_LineSize);
value4= Text_New(Date, Time + 50, LowDay - .08, "A Down");
value4= Text_SetStyle(ID4, 0, 1);
value4= Text_SetColor(ID4, IB_Color);
//Draw C Up Line
If TodayOnly and LineId5 <> -1 and LineId5 <> ID5 Then TL_Delete(LineId5);
If TodayOnly and LineId5 <> -1 and LineId5 <> ID5 Then Text_Delete(LineId5);
If TodayOnly then LineId5 = ID5;
ID5 = TL_New(Date, StartTime, HighDay + .13, Date, Time, HighDay + .13);
If TodayOnly then Value1 = TL_SetExtRight(ID5, True);
value5= TL_SetColor(ID5, C_Color);
value5= TL_SetStyle(ID5, C_Style);
value5= TL_SetSize(ID5, C_LineSize);
value5= Text_New(Date, Time + 50, HighDay + .13, "C Up");
value5= Text_SetStyle(ID5, 0, 1);
value5= Text_SetColor(ID5, C_Color);
// Draw C Down Line
If TodayOnly and LineId6 <> -1 and LineId6 <> ID6 Then TL_Delete(LineId6);
If TodayOnly and LineId6 <> -1 and LineId6 <> ID6 Then Text_Delete(LineId6);
If TodayOnly Then LineId6 = Id6;
ID6 = TL_New(Date, StartTime, LowDay - .13, Date, Time, LowDay - .13);
If TodayOnly then Value1 = TL_SetExtRight(ID6, True);
value6= TL_SetColor(ID6, C_Color);
value6= TL_SetStyle(ID6, C_Style);
value6= TL_SetSize(ID6, C_LineSize);
value6= Text_New(Date, Time + 50, LowDay - .13, "C Down");
value6= Text_SetStyle(ID6, 0, 1);
value6= Text_SetColor(ID6, C_Color);
DPP = (yHigh + yLow + yClose ) /3; //Daily Pivot Point
//Draw Daily Pivot Point Line
If TodayOnly and LineId7 <> -1 and LineId7 <> ID7 Then TL_Delete(LineId7);
If TodayOnly and LineId7 <> -1 and LineId7 <> ID7 Then Text_Delete(LineId7);
If TodayOnly then LineId7 = ID7;
ID7 = TL_New(Date, StartTime, DPP, Date, Time, DPP);
If TodayOnly then Value1 = TL_SetExtRight(ID7, True);
value7= TL_SetColor(ID7, PP_Color);
value7= TL_SetStyle(ID7, PP_Style);
value7= TL_SetSize(ID7, PP_LineSize);
value7= Text_New(Date, Time + 50, DPP, "DPP");
value7= Text_SetStyle(ID7, 0, 1);
value7= Text_SetColor(ID7, PP_Color);
PV = (yHigh + yLow) /2;
PVR = (DPP - PV); //Pivot Range Value
//Draw Pivot Range High Line
If TodayOnly and LineId8 <> -1 and LineId8 <> ID8 Then TL_Delete(LineId8);
If TodayOnly and LineId8 <> -1 and LineId8 <> ID8 Then Text_Delete(LineId8);
If TodayOnly then LineId8 = ID8;
ID8 = TL_New(Date, StartTime, DPP + PVR, Date, Time, DPP + PVR);
If TodayOnly then Value1 = TL_SetExtRight(ID8, True);
value8= TL_SetColor(ID8, PP_Color);
value8= TL_SetStyle(ID8, PP_Style);
value8= TL_SetSize(ID8, PP_LineSize);
value8= Text_New(Date, Time + 50, DPP + PVR, "PVR High");
value8= Text_SetStyle(ID8, 0, 1);
value8= Text_SetColor(ID8, PP_Color);
//Draw Pivot Range Low Line
If TodayOnly and LineId9 <> -1 and LineId9 <> ID9 Then TL_Delete(LineId9);
If TodayOnly and LineId9 <> -1 and LineId9 <> ID9 Then Text_Delete(LineId9);
If TodayOnly then LineId9 = ID9;
ID9 = TL_New(Date, StartTime, DPP - PVR, Date, Time, DPP - PVR);
If TodayOnly then Value1 = TL_SetExtRight(ID9, True);
value9= TL_SetColor(ID9, PP_Color);
value9= TL_SetStyle(ID9, PP_Style);
value9= TL_SetSize(ID9, PP_LineSize);
value9= Text_New(Date, Time + 50, DPP - PVR, "PVR Low");
value9= Text_SetStyle(ID9, 0, 1);
value9= Text_SetColor(ID9, PP_Color);
//Draw yHigh Line
If TodayOnly and LineId10 <> -1 and LineId10 <> ID10 Then TL_Delete(LineId10);
If TodayOnly and LineId10 <> -1 and LineId10 <> ID10 Then Text_Delete(LineId10);
If TodayOnly then LineId10 = ID10;
ID10 = TL_New(Date, StartTime, yHigh, Date, Time, yHigh);
If TodayOnly then Value1 = TL_SetExtRight(ID10, True);
value10= TL_SetColor(ID10, yHighLow_Color);
value10= TL_SetStyle(ID10, yHighLow_Style);
value10= TL_SetSize(ID10, yHighLow_LineSize);
value10= Text_New(Date, Time + 50, yHigh, "Y High");
value10= Text_SetStyle(ID10, 0, 1);
value10= Text_SetColor(ID10, yHighLow_Color);
//Draw yLow Line
If TodayOnly and LineId11 <> -1 and LineId11 <> ID11 Then TL_Delete(LineId11);
If TodayOnly and LineId11 <> -1 and LineId11 <> ID11 Then Text_Delete(LineId11);
If TodayOnly then LineId11 = ID11;
ID11 = TL_New(Date, StartTime, yLow, Date, Time, yLow);
If TodayOnly then Value1 = TL_SetExtRight(ID11, True);
value11= TL_SetColor(ID11, yHighLow_Color);
value11= TL_SetStyle(ID11, yHighLow_Style);
value11= TL_SetSize(ID11, yHighLow_LineSize);
value11= Text_New(Date, Time + 50, yLow, "Y Low");
value11= Text_SetStyle(ID11, 0, 1);
value11= Text_SetColor(ID11, yHighLow_Color);
//Draw yClose Line
If TodayOnly and LineId12 <> -1 and LineId12 <> ID12 Then TL_Delete(LineId12);
If TodayOnly and LineId12 <> -1 and LineId12 <> ID12 Then Text_Delete(LineId12);
If TodayOnly then LineId12 = ID12;
ID12 = TL_New(Date, StartTime, yClose, Date, Time, yClose);
If TodayOnly then Value1 = TL_SetExtRight(ID12, True);
value12= TL_SetColor(ID12, yClose_Color);
value12= TL_SetStyle(ID12, yClose_Style);
value12= TL_SetSize(ID12, yClose_LineSize);
value12= Text_New(Date, Time + 50, yClose, "Y Close");
value12= Text_SetStyle(ID12, 0, 1);
value12= Text_SetColor(ID12, yClose_Color);
End;