Albano_Pivots.efs
EFSLibrary - Discussion Board
File Name: Albano_Pivots.efs
Description:
Modified pivot study with multiple options for the center pivot.
Formula Parameters:
- Color: red
- Pivot Type: 0 [0, 1, 2, 3, 4]
Where:
- 0 = prev High + prev Low + prev Close / 3
- 1 = prev High + prev Low + Open / 3
- 2 = prev High + prev Low + Open + Open / 4
- 3 = prev High + prev Low + prev Close + Open / 4
- 4 = prev High + prev Low + prev Close + prev Open / 4
Notes:
NA
Download File:
Albano_Pivots.efs
EFS Code:
/********************************* Provided By: eSignal (Copyright © eSignal), a division of Interactive Data Corporation. 2007. All rights reserved. This sample eSignal Formula Script (EFS) is for educational purposes only and may be modified and saved under a new file name. eSignal is not responsible for the functionality once modified. eSignal reserves the right to modify and overwrite this EFS file with each new release. Description: Albano Pivots RE: http://forum.esignalcentral.com/showthread.php?s=&threadid=24146 **********************************/ function preMain() { setPriceStudy(true); setStudyTitle("Albano Pivot Points"); setCursorLabelName("R3", 0); setCursorLabelName("R3/R2", 1); setCursorLabelName("R2", 2); setCursorLabelName("R2/R1", 3); setCursorLabelName("R1", 4); setCursorLabelName("CPR1", 5); setCursorLabelName("CP", 6); setCursorLabelName("CPS1", 7); setCursorLabelName("S1", 8); setCursorLabelName("S1/S2", 9); setCursorLabelName("S2", 10); setCursorLabelName("S2/S3", 11); setCursorLabelName("S3", 12); for (var i = 0; i < 13; i++) { setPlotType(PLOTTYPE_FLATLINES, i); } // R3 setDefaultBarStyle(PS_SOLID, 0); // R3/R2 setDefaultBarStyle(PS_DASH, 1); // R2 setDefaultBarStyle(PS_SOLID, 2); // R2/R1 setDefaultBarStyle(PS_DOT, 3); // R1 setDefaultBarStyle(PS_SOLID, 4); // CPR1 setDefaultBarStyle(PS_DOT, 5); // CP setDefaultBarStyle(PS_SOLID, 6); // CPS1 setDefaultBarStyle(PS_DOT, 7); // S1 setDefaultBarStyle(PS_SOLID, 8); // S1/S2 setDefaultBarStyle(PS_DOT, 9); // S2 setDefaultBarStyle(PS_SOLID, 10); // S2/S3 setDefaultBarStyle(PS_DOT, 11); // S3 setDefaultBarStyle(PS_SOLID, 12); var fp1 = new FunctionParameter("cColor", FunctionParameter.COLOR); fp1.setName("Color"); fp1.setDefault(Color.red); var fp2 = new FunctionParameter("nType", FunctionParameter.NUMBER); fp2.setName("Pivot Type"); fp2.addOption(0); fp2.addOption(1); fp2.addOption(2); fp2.addOption(3); fp2.addOption(4); fp2.setDefault(0); } var bInit = false; var xO = null; var xH = null; var xL = null; var xC = null; function main(cColor, nType) { if(isMonthly() || isWeekly()) return; if(bInit == false){ xO = open(inv("D")); xH = high(inv("D")); xL = low(inv("D")); xC = close(inv("D")); for (var i=0; i < 13; i++) { setDefaultBarFgColor(cColor, i); } bInit = true; } var nCP = null; var nR1 = null; var nS1 = null; var nR2 = null; var nS2 = null; var nR3 = null; var nS3 = null; var nR3R2 = null; var nR2R1 = null; var nCPR1 = null; var nCPS1 = null; var nS1S2 = null; var nS2S3 = null; var nOpen0 = xO.getValue(0); var nOpen = xO.getValue(-1); var nHigh = xH.getValue(-1); var nLow = xL.getValue(-1); var nClose = xC.getValue(-1); if(nOpen == null || nHigh == null || nLow == null || nClose == null) return; var nRange = (nHigh - nLow); switch (nType) { case 1: nCP = (nHigh + nLow + nOpen0) / 3; break; case 2: nCP = (nHigh + nLow + nOpen0 + nOpen0) / 4; break; case 3: nCP = (nHigh + nLow + nClose + nOpen0) / 4; break; case 4: nCP = (nHigh + nLow + nClose + nOpen) / 4; break; default: nCP = (nHigh + nLow + nClose) / 3; break; } nR1 = nCP + (nRange/2); nS1 = nCP - (nRange/2); nR2 = nCP + nRange; nS2 = nCP - nRange; nR3 = nR2 + nRange; nS3 = nS2 - nRange; nR3R2 = (nR3 + nR2) / 2; nR2R1 = (nR2 + nR1) / 2; nCPR1 = (nCP + nR1) / 2; nCPS1 = (nCP + nS1) / 2; nS1S2 = (nS1 + nS2) / 2; nS2S3 = (nS2 + nS3) / 2; if (getCurrentBarIndex() >= -1) { drawTextRelative(1, nR3, "R3", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "R3"); drawTextRelative(1, nR3R2, "R3R2", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "R3R2"); drawTextRelative(1, nR2, "R2", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "R2"); drawTextRelative(1, nR2R1, "R2R1", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "R2R1"); drawTextRelative(1, nR1, "R1", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "R1"); drawTextRelative(1, nCPR1, "CPR1", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "CPR1"); drawTextRelative(1, nCP, "CP", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "CP"); drawTextRelative(1, nCPS1, "CPS1", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "CPS1"); drawTextRelative(1, nS1, "S1", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "S1"); drawTextRelative(1, nS1S2, "S1S2", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "S1S2"); drawTextRelative(1, nS2, "S2", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "S2"); drawTextRelative(1, nS2S3, "S2S3", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "S2S3"); drawTextRelative(1, nS3, "S3", cColor, Color.white, Text.LEFT|Text.BOLD|Text.VCENTER, null, 12, "S3"); } return new Array(nR3, nR3R2, nR2, nR2R1, nR1, nCPR1, nCP, nCPS1, nS1, nS1S2, nS2, nS2S3, nS3); }