/**************************** $AvgPerWeekDay - PLOT AVERAGE PRICE FOR DAY OF WEEK Modifying Programmer: Avery T. Horton, Jr. aka TheRumpledOne, **************/ function preMain() { setPriceStudy(false); setStudyTitle("Avg per Day of week"); setShowCursorLabel(true); setPlotType(PLOTTYPE_FLATLINES , 0); setDefaultBarFgColor(Color.black, 1); setDefaultBarThickness(2,0); setCursorLabelName("AvgHSDayOfWeek", 0); setCursorLabelName("HS Today", 1); // setStudyMin(0.2); var fp3 = new FunctionParameter("iSource", FunctionParameter.STRING); fp3.setName("Price Source"); fp3.addOption("High"); fp3.addOption("Low"); fp3.addOption("Close"); fp3.setDefault("High"); var iLineType = new FunctionParameter("iLineType", FunctionParameter.STRING); iLineType.addOption("PLOTTYPE_HISTOGRAM"); iLineType.addOption("PLOTTYPE_SQUAREWAVE"); iLineType.addOption("PLOTTYPE_FLATLINES"); iLineType.addOption("PLOTTYPE_SQUARE"); iLineType.addOption("PLOTTYPE_CIRCLE"); iLineType.addOption("PLOTTYPE_INSTANTCOLORLINE"); iLineType.setDefault( "PLOTTYPE_LINE" ); var iDebug = new FunctionParameter("iDebug", FunctionParameter.BOOLEAN); iDebug.setDefault( false ); var iButtonX = new FunctionParameter("iButtonX", FunctionParameter.NUMBER); iButtonX.setDefault( 1 ); var iButtonY = new FunctionParameter("iButtonY", FunctionParameter.NUMBER); iButtonY.setDefault( 1 ); var iFontSize = new FunctionParameter("iFontSize", FunctionParameter.NUMBER); iFontSize.setDefault( 10 ); } var c1 = 0; var c2 = 0; var c3 = 0; var c4 = 0; var c5 = 0; SumMon = 0; SumTue = 0; SumWed = 0; SumThu = 0; SumFri = 0; AvgMonH = 0; AvgTueH = 0; AvgWedH = 0; AvgThuH = 0; AvgFriH = 0; var AvgHSDayOfWeek = 0; askForInput("TRO_NORMALIZER"); function main( iDebug, iSource, iLineType, iFontSize, iButtonX, iButtonY ) { if(getBarState() == BARSTATE_ALLBARS) { drawTextPixel( iButtonX , iButtonY, " AvgPerWeekDay @URL=EFS:editParameters", Color.white, Color.lime, Text.RELATIVETOLEFT|Text.RELATIVETOBOTTOM|Text.ONTOP|Text.BOLD|Text.BUTTON, "Comic Sans MS", 13, "UpExp"); iInterval = getInterval(); xSymbol = getSymbol().toUpperCase(); return null; } // getBarState var vDate = getValue("Time"); var vDayOfWeek = vDate.getDay(); if (iSource == "Close") { var p = close() var p1 = close(-1); } else if (iSource == "High") { var p = high() var p1 = high(-1); } else if (iSource == "Low") { var p = low() var p1 = low(-1); } if (vDayOfWeek == 1) { setBarFgColor(Color.red); c1 = c1 + 1; if( c1 != 0) { SumMon = ( SumMon + p ) ; AvgMonH = ( SumMon ) / c1; AvgHSDayOfWeek = AvgMonH ;} } if (vDayOfWeek == 2) { setBarFgColor(Color.blue); c2 = c2 + 1; if( c2 != 0) { SumTue = ( SumTue + p ) ; AvgTueH = ( SumTue ) / c2; AvgHSDayOfWeek = AvgTueH ; } } if (vDayOfWeek == 3) { setBarFgColor(Color.green); c3 = c3 + 1; if( c3 != 0) { SumWed = ( SumWed + p ) ; AvgWedH = ( SumWed ) / c3; AvgHSDayOfWeek = AvgWedH ; } } if (vDayOfWeek == 4) { setBarFgColor(Color.black); c4 = c4 + 1; if( c4 != 0) { SumThu = ( SumThu + p ) ; AvgThuH = ( SumThu ) / c4; AvgHSDayOfWeek = AvgThuH ; } } if (vDayOfWeek == 5) { setBarFgColor(Color.aqua); c5 = c5 + 1; if( c5 != 0) { SumFri = ( SumFri + p ) ; AvgFriH = ( SumFri ) / c5; AvgHSDayOfWeek = AvgFriH ; } } if(iDebug == true) { // debugClear(); debugPrint( " " + "\n" ); debugPrint( "c5 : " + c5 + "\n" ); debugPrint( "AvgFriH : " + AvgFriH + "\n" ); debugPrint( "c4 : " + c4 + "\n" ); debugPrint( "AvgThuH : " + AvgThuH + "\n" ); debugPrint( "c3 : " + c3 + "\n" ); debugPrint( "AvgWedH : " + AvgWedH + "\n" ); debugPrint( "c2 : " + c2 + "\n" ); debugPrint( "AvgTueH : " + AvgTueH + "\n" ); debugPrint( "c1 : " + c1 + "\n" ); debugPrint( "AvgMonH : " + AvgMonH + "\n" ); debugPrint( "iSource : " + iSource + "\n" ); debugPrint( "vDayOfWeek : " + vDayOfWeek + "\n" ); debugPrint( "Value : " + p + "\n" ); debugPrint( "Source : " + iSource + "\n" ); debugPrint( "--xSymbol : " + xSymbol + "\n" ); debugPrint( "getCurrentBarCount() : " + getCurrentBarCount() + "\n" ); debugPrint( "-------------: " + "\n" ); } // debug return ( AvgHSDayOfWeek ) ; } //==rnd wiLL round to N digits. function rnd(value, N) { var n; var mult=1; for(n=0;n