PivotPointAllDaily.efs

ICE Data Services -


PivotPointAllDaily.efs 
  

File Name: PivotPointAllDaily.efs


Description:
Plots Daily Pivot Points and may be used with intra-day or Daily intervals.


Formula Parameters:
NA

Notes:
NA

Download File:
PivotPointAllDaily.efs




EFS Code:
/*********************************Provided By : eSignal. (c) Copyright 2003*********************************/function preMain() {	setPriceStudy(true);	setStudyTitle("Pivot Points Daily");	setCursorLabelName("PP-R2", 0);	setCursorLabelName("PP-R1", 1);	setCursorLabelName("PP", 2);	setCursorLabelName("PP-S1", 3);	setCursorLabelName("PP-S2", 4);		// R2	setDefaultBarStyle(PS_DASH, 0);	setDefaultBarFgColor(Color.RGB(255,0,0), 0);	setDefaultBarThickness(2, 0);	// R1	setDefaultBarStyle(PS_DOT, 1);	setDefaultBarFgColor(Color.RGB(0,0,255), 1);	setDefaultBarThickness(1, 1);       // Pivot  Point	setDefaultBarStyle(PS_SOLID, 2);	setDefaultBarFgColor(Color.RGB(0,0,0), 2);	setDefaultBarThickness(1, 2);    // S1	setDefaultBarStyle(PS_DOT, 3);	setDefaultBarFgColor(Color.RGB(0,0,255), 3);	setDefaultBarThickness(1, 3);	// S2	setDefaultBarStyle(PS_DASH, 4);	setDefaultBarFgColor(Color.RGB(255,0,0), 4);	setDefaultBarThickness(2, 4);}// Start of Performance additionvar vLastRawTime = null;var vLastPP = null;var vLastPPR1 = null;var vLastPPR2 = null;var vLastPPS1 = null;var vLastPPS2 = null;var vLastArray = null;var vSymbol = null;var vInterval = null;var vReset = true;function main() {    var vH;    var vL;    var vC;	var vRawTime;	var vBarTime;	var vIndex;	var nState = getBarState();	if(vReset == true) {		vLastRawTime = null;		vLastArray = null;		vLastPP = null;		vLastPPR1 = null;		vLastPPR2 = null;		vLastPPS1 = null;		vLastPPS2 = null;		vInterval = getInterval();		vSymbol = getSymbol();		vSymbol += ",D";		vReset = false;	}	//vRawTime = getValue("rawtime");  // does not work properly with 1 min interval	vRawTime = getDay();	if(vRawTime == null)		return;	//vRawTime = Math.floor(vRawTime / RawTime.DAY);	// Start of Performance addition	if(vRawTime != null && vLastRawTime != null) {		if(vRawTime == vLastRawTime) {			return vLastArray;			// return new Array(vLastPP, vLastPPR1, vLastPPR2, vLastPPS1, vLastPPS2);		}	}		if(vInterval == null)	    return null;	//if(vInterval == "D")	//    return null;	    	if(vInterval == "W")	    return null;	    	if(vInterval == "M")	    return null;	    	if(vInterval == "T")	    return null;	vBarTime = getValue("time");	if(vBarTime != null) {        var vDay = vBarTime.getDay();        if (vDay == 0) {            var vDate = vBarTime.getDate();            vDate -= 2;            vBarTime.setDate(vDate);        }  	    vAbsTime = getPreviousTradingDay(vBarTime, vSymbol);	    if(vAbsTime == null) {	        return;	    }	    vIndex = getFirstBarIndexOfDay(vAbsTime, vSymbol);	    if(vIndex != null) {			vH = getValueAbsolute("High", vIndex, vSymbol);			vL = getValueAbsolute("Low",  vIndex, vSymbol);			vC = getValueAbsolute("Close", vIndex, vSymbol);			if(vH != null && vL != null && vC != null) {				vLastPP = (vH + vL + vC) / 3;				vLastPPR1 = 2 * vLastPP - vL;				vLastPPS1 = 2 * vLastPP - vH;				vLastPPR2 = (vLastPP - vLastPPS1) + vLastPPR1;				vLastPPS2 = vLastPP - (vLastPPR1 - vLastPPS1);				vLastRawTime = vRawTime;				vLastArray = new Array(vLastPPR2, vLastPPR1, vLastPP, vLastPPS1, vLastPPS2);				return vLastArray;			}	    } 	}	return null;}