File Name: PivotPointAllweekly.efs
Description:
Plots Weekly Pivot Points and may be used with intra-day or Daily intervals.
Formula Parameters:
Notes:
Download File:
PivotPointAllweekly.efs
Image:
EFS Code:
Description:
Plots Weekly Pivot Points and may be used with intra-day or Daily intervals.
Formula Parameters:
Notes:
Download File:
PivotPointAllweekly.efs
Image:
EFS Code:
PHP Code:
/*********************************
Provided By : eSignal. (c) Copyright 2003
*********************************/
/* Updated 4/14/03 */
/* Updated 9/16/05
-- fix for Monday Holidays (vIndex) */
function preMain() {
setPriceStudy(true);
setStudyTitle("Weekly Pivot Points");
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(2, 1);
// Pivot Point
setDefaultBarStyle(PS_SOLID, 2);
setDefaultBarFgColor(Color.RGB(0,0,0), 2);
setDefaultBarThickness(2, 2);
// S1
setDefaultBarStyle(PS_DOT, 3);
setDefaultBarFgColor(Color.RGB(0,0,255), 3);
setDefaultBarThickness(2, 3);
// S2
setDefaultBarStyle(PS_DASH, 4);
setDefaultBarFgColor(Color.RGB(255,0,0), 4);
setDefaultBarThickness(2, 4);
}
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;
var msPerDay = 24*60*60*1000;
var vIndex = null;
var vBarTime = null;
var vPrevBarTime = null;
var vNew = false;
function main() {
var vH;
var vL;
var vC;
var nState = getBarState();
if(vReset == true) {
vLastArray = null;
vLastPP = null;
vLastPPR1 = null;
vLastPPR2 = null;
vLastPPS1 = null;
vLastPPS2 = null;
vInterval = getInterval();
vSymbol = getSymbol();
vSymbol += ",W";
vReset = false;
}
if(vInterval == null)
return null;
if(vInterval == "W")
return null;
if(vInterval == "M")
return null;
if(vInterval == "T")
return null;
if (nState == BARSTATE_NEWBAR) {
vPrevBarTime = vBarTime;
}
vBarTime = getValue("time");
if(vBarTime != null && vPrevBarTime != null && nState == BARSTATE_NEWBAR) {
if (vNew == false) {
if (vPrevBarTime.getDay() - vBarTime.getDay() > 1) vNew = true;
}
if (vNew == true) {
var vTime = new Date();
var vBarTime1 = getValue("time", -1);
// fix for Monday Holidays: Math.ceil vs Math.round to round up to the nearest
// whole number of weeks.
// vIndex is derived from the last bar of the previous week to current time
// vs. first bar of current week.
vIndex = ( Math.ceil( ((vTime.getTime() - vBarTime1.getTime())/msPerDay) / 7) * -1);
vNew = false;
}
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);
vLastArray = new Array(vLastPPR2, vLastPPR1, vLastPP, vLastPPS1, vLastPPS2);
return vLastArray;
}
}
}
return vLastArray;
}