PivotPointAllmonthly.efs
File Name: PivotPointAllmonthly.efs
Description:
Plots Monthly Pivot Points and may be used with intra-day, Daily or Weekly intervals.
Formula Parameters:
NA
Notes:
NA
Download File:
PivotPointAllmonthly.efs
EFS Code:
/**************************************************************************************************** Copyright © eSignal, a division of Interactive Data Corporation. 2003. All rights reserved. This sample eSignal Formula Script (EFS) may be modified and saved under a new filename; however, eSignal is no longer responsible for the functionality once modified. eSignal reserves the right to modify and overwrite this EFS file with each new release. ****************************************************************************************************/ function preMain() { setPriceStudy(true); setStudyTitle("Monthly 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; function main() { var vH; var vL; var vC; var vBarTime; var vIndex; var nState = getBarState(); if(vReset == true) { vLastArray = null; vLastPP = null; vLastPPR1 = null; vLastPPR2 = null; vLastPPS1 = null; vLastPPS2 = null; vInterval = getInterval(); vSymbol = getSymbol(); vSymbol += ",M"; vReset = false; } if(vInterval == null) return null; if(vInterval == "M") return null; if(vInterval == "T") return null; var vMonth0 = getMonth(); var vMonth1 = getMonth(-1); if (vMonth0 != vMonth1) { vBarTime = getValue("time"); var vTime = new Date(); if(vBarTime != null) { if (vTime.getYear() == vBarTime.getYear()) { vIndex = ((vTime.getMonth()+1 - vBarTime.getMonth()+1) * -1)+1; } else { vIndex = (((vTime.getMonth()+1 + ((vTime.getYear() - vBarTime.getYear()) * 12)) - vBarTime.getMonth()+1) * -1)+1; } 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; }