/*********************************Provided By : eSignal. (c) Copyright 2003*********************************/function preMain() { setPriceStudy(true); /* Set the title that will appear in the study pane */ setStudyTitle("Keltner"); /* Set the label that will appear in the cursor window */ setCursorLabelName("K-Upper", 0); setCursorLabelName("K-Basis", 1); setCursorLabelName("K-Lower", 2); setDefaultBarFgColor(Color.blue, 0); // upper setDefaultBarFgColor(Color.red, 1); // basis setDefaultBarFgColor(Color.blue, 2); // lower}function main(nInputLength, nRangeFactor) { if(nInputLength == null) nInputLength = 20; if(nInputLength <= 0) nInputLength = 20; if(nRangeFactor == null) nRangeFactor = 2.5; if(nRangeFactor <= 0) nRangeFactor = 2.5; var dHigh = high(0, -nInputLength); var dLow = low(0, -nInputLength); var dKeltnerBasis= call("/Library/KeltnerEMA.efs", nInputLength); if(dHigh == null || dLow == null || dKeltnerBasis == null) return; var dHminL = 0; var i; for(i = 0; i < nInputLength; i++) { dHminL += dHigh[i] - dLow[i]; } dHminL /= nInputLength; return new Array(dKeltnerBasis + (nRangeFactor * dHminL), dKeltnerBasis, dKeltnerBasis - (nRangeFactor * dHminL));} |