// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("Multi Retra Pivots"); //chart colors SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); Plot( C, "Close", ParamColor("Color", colorDefault ), styleNoTitle |ParamStyle("Style") | GetPriceStyle() ); T_F =ParamList("Pivot T_F","iDay|Hourly|2_Hrs|3_Hrs|4_Hrs|EOD|Weekly|Monthly"); if (T_F=="iDay") { H_1 = TimeFrameGetPrice( "H", inDaily, -1 ); L_1 = TimeFrameGetPrice( "L", inDaily, -1 ); H_2 = TimeFrameGetPrice( "H", inDaily, -2 ); L_2 = TimeFrameGetPrice( "L", inDaily, -2 ); H_3 = TimeFrameGetPrice( "H", inDaily, -3 ); L_3 = TimeFrameGetPrice( "L", inDaily, -3 ); } else if (T_F == "Hourly") { H_1 = TimeFrameGetPrice( "H", inHourly, -1 ); L_1 = TimeFrameGetPrice( "L", inHourly, -1 ); H_2 = TimeFrameGetPrice( "H", inHourly, -2 ); L_2 = TimeFrameGetPrice( "L", inHourly, -2 ); H_3 = TimeFrameGetPrice( "H", inHourly, -3 ); L_3 = TimeFrameGetPrice( "L", inHourly, -3 ); } else if (T_F == "2_Hrs") { H_1 = TimeFrameGetPrice( "H", inHourly*2, -1 ); L_1 = TimeFrameGetPrice( "L", inHourly*2, -1 ); H_2 = TimeFrameGetPrice( "H", inHourly*2, -2 ); L_2 = TimeFrameGetPrice( "L", inHourly*2, -2 ); H_3 = TimeFrameGetPrice( "H", inHourly*2, -3 ); L_3 = TimeFrameGetPrice( "L", inHourly*2, -3 ); } else if (T_F == "3_Hrs") { H_1 = TimeFrameGetPrice( "H", inHourly*3, -1 ); L_1 = TimeFrameGetPrice( "L", inHourly*3, -1 ); H_2 = TimeFrameGetPrice( "H", inHourly*3, -2 ); L_2 = TimeFrameGetPrice( "L", inHourly*3, -2 ); H_3 = TimeFrameGetPrice( "H", inHourly*3, -3 ); L_3 = TimeFrameGetPrice( "L", inHourly*3, -3 ); } else if (T_F == "4_Hrs") { H_1 = TimeFrameGetPrice( "H", inHourly*4, -1 ); L_1 = TimeFrameGetPrice( "L", inHourly*4, -1 ); H_2 = TimeFrameGetPrice( "H", inHourly*4, -2 ); L_2 = TimeFrameGetPrice( "L", inHourly*4, -2 ); H_3 = TimeFrameGetPrice( "H", inHourly*4, -3 ); L_3 = TimeFrameGetPrice( "L", inHourly*4, -3 ); } else if (T_F == "EOD") { H_1 = TimeFrameGetPrice( "H", inDaily, 0 ); L_1 = TimeFrameGetPrice( "L", inDaily, 0 ); H_2 = TimeFrameGetPrice( "H", inDaily, -1 ); L_2 = TimeFrameGetPrice( "L", inDaily,-1 ); H_3 = TimeFrameGetPrice( "H", inDaily, -2 ); L_3 = TimeFrameGetPrice( "L", inDaily,-2 ); } else if (T_F == "Weekly") { H_1 = TimeFrameGetPrice( "H", inWeekly, -1 ); L_1 = TimeFrameGetPrice( "L", inWeekly, -1 ); H_2 = TimeFrameGetPrice( "H", inWeekly, -2 ); L_2 = TimeFrameGetPrice( "L", inWeekly, -2 ); H_3 = TimeFrameGetPrice( "H", inWeekly, -3 ); L_3 = TimeFrameGetPrice( "L", inWeekly, -3 ); } else if (T_F == "Monthly") { H_1 = TimeFrameGetPrice( "H", inMonthly, -1 ); L_1 = TimeFrameGetPrice( "L", inMonthly, -1 ); H_2 = TimeFrameGetPrice( "H", inMonthly, -2 ); L_2 = TimeFrameGetPrice( "L", inMonthly, -2 ); H_3 = TimeFrameGetPrice( "H", inMonthly, -3 ); L_3 = TimeFrameGetPrice( "L", inMonthly, -3 ); } // To calculate the Pivot Levels for last trading day R = H_1 - L_1; // Range MID = (H_1 + L_1) / 2; H1 = L_1 + R*0.62; L1 = L_1 + R*0.38; H2 = H_1; L2 = L_1; H3 = H_1 + R*0.38; L3 = L_1 - R*0.38; H4 = H_1 + R*0.62; L4 = L_1 - R*0.62; H5 = H_1 + R; L5 = L_1 - R; // To calculate the Pivot Levels for previous trading session LASTR = H_2 - L_2; // LAST Range LASTMID = (H_2 + L_2) / 2; LASTH1 = L_2 + LASTR*0.62; LASTL1 = L_2 + LASTR*0.38; LASTH2 = H_2; LASTL2 = L_2; LASTH3 = H_2 + LASTR*0.38; LASTL3 = L_2 - LASTR*0.38; LASTH4 = H_2 + LASTR*0.62; LASTL4 = L_2 - LASTR*0.62; LASTH5 = H_2 + LASTR; LASTL5 = L_2 - LASTR; // To calculate the Pivot Levels for third trading session THRDR = H_3 - L_3; // 3RD Range THRDMID = (H_3 + L_3) / 2; THRDH1 = L_3 + THRDR*0.62; THRDL1 = L_3 + THRDR*0.38; THRDH2 = H_3; THRDL2 = L_3; THRDH3 = H_3 + THRDR*0.38; THRDL3 = L_3 - THRDR*0.38; THRDH4 = H_3 + THRDR*0.62; THRDL4 = L_3 - THRDR*0.62; THRDH5 = H_3 + THRDR; THRDL5 = L_3 - THRDR; //Defining TF on charts procedure AddT_fParam(defaultvalue) { global T_F; T_F = ParamList("Time Frame", List = "iDay|Hourly|2_Hrs|3_Hrs|4_Hrs|EOD|Weekly|Monthly" , defaultvalue); if(T_F == "iDay") T_F = inDaily; else if(T_F == "Hourly") T_F = inHourly; else if(T_F == "2_Hrs") T_F = inHourly*2; else if(T_F == "3_Hrs") T_F = inHourly*3; else if(T_F == "4_Hrs") T_F = inHourly*4; else if(T_F == "EOD") T_F = inDaily; else if(T_F == "Weekly") T_F = inWeekly; else if(T_F == "Montly") T_F = inMonthly; } // Plot Pivot Levels in the charts Plot (H5,"H5",ColorRGB(173,255,47),styleSwingDots,styleThick,1); Plot (H4,"H4",ColorRGB(34,139,87),styleSwingDots,styleThick,1); Plot (H3,"H3",ColorRGB(85,107,47),styleSwingDots,styleThick,1); Plot (H2,"H2",ColorRGB(255,0,255),styleDashed,styleThick,1); Plot (H1,"H1",ColorRGB(255,140,0),styleLine,styleThick,1); Plot (MID,"MID",ColorRGB(128,0,128),styleLine,styleThick,1); Plot (L1,"L1",ColorRGB(0,191,255),styleLine,styleThick,1); Plot (L2,"L2",ColorRGB(0,255,255),styleDashed,styleThick,1); Plot (L3,"L3",ColorRGB(250,128,144),styleDots,styleThick,1); Plot (L4,"L4",ColorRGB(255,127,80),styleLine,styleThick,1); Plot (L5,"L5",ColorRGB(255,215,0),styleLine,styleThick,1); CON1 = C> H3; CON2 = Volume > Ref( Volume, -1 )*1.5; Buy = C> H3; Sell = Cross( L1, Close ) ; _SECTION_END ();