Announcement

Collapse
No announcement yet.

Old formulas for 10.6 which need to be rewritten for 12.0

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Part 2 of Scrips

    and here Comes the rest:

    New50BarHighLow.efs
    ConnorHistVolatilityPercent.efs

    Many thx for your help and the link!

    Frunk

    Comment


    • #17
      Hi,

      Thanks for the scripts. We are almost there.

      Three scripts call for HighLowLevel.efs. The three scripts are mvb.efs, TurtleSoup.efs, and New50BarHighLow.efs.
      Getting that last script will allow updating the scripts to run on eSignal ver 12.

      Wayne

      Comment


      • #18
        I coded NewHighLow.efs based on my understanding of what the calling studies require.
        If you have the study NewHighLow.efs and post it I can verify whether I coded it correctly.
        Without more information about what it outputs my version will have to do.

        I'm breaking the code into two posts because it is too large to fit all at once. So to use it append/concatenate the two portions into one efs and name it differently from the mvb.efs, something like mvbInternalFunctions.efs.

        PHP Code:
        //see http://www.lbrgroup.com/index.asp?page=FAQ
        const ColorOrange Color.RGB(255,128,64);

        var 
        yAxisGapForStackingSymbols=null;
        var 
        yAxisInitialGapForSymbols=null;
        const 
        yAxisGapForStackingSymbolsMultiplier 0.05;
        const 
        yAxisInitialGapForSymbolsMultiplier 0.04;
        var 
        hilow=nullhilowSpan=null;


        //Die Anzahl an Symbolen, die über bzw. unter dem letzten Bar bereits gezeichnet wurden.
        var symbolsCountHigh 0;
        var 
        symbolsCountLow 0;



        var 
        isNR false;
        var 
        nr 0;
        var 
        nrValues = [47112155];
        var 
        nrColors = [Color.blueColor.greenColor.redColorOrangeColor.cyan];
        var 
        maxNR nrValues[nrValues.length-1];
        var 
        nrShape Shape.DIAMOND;

        var 
        isWR false;
        var 
        wr 0;
        var 
        wrValue 7;
        var 
        wrColor Color.purple;
        var 
        wrShape Shape.DIAMOND;

        var 
        isTS false;
        var 
        ts 0;
        var 
        tsColor Color.lime;
        var 
        tsShape Shape.CIRCLE;
        var 
        showTSHelpLine true;
        var 
        tsHelpLineThickNess 1;
        var 
        tsHelpLineStyle PS_DASH//Wird von e-signal nicht beachtet.
        var showTSHelpShape false;
        var 
        tsHelpShape Shape.RIGHTARROW;

        var 
        bar50HLColor Color.RGB(192,75,0);
        var 
        bar50HLShape Shape.DIAMOND;
        var 
        isBar50HL false;
        var 
        bar50HL 0;

        var 
        keyColor Color.magenta;
        var 
        keyUpShape Shape.UPARROW;
        var 
        keyDownShape Shape.DOWNARROW;
        var 
        isKey false;
        var 
        key 0;

        var 
        raschkeColor Color.purple;
        var 
        raschkeUpShape Shape.UPARROW;
        var 
        raschkeDownShape Shape.DOWNARROW;
        var 
        isRaschke false;
        var 
        raschke 0;

        var 
        hv6Color Color.black;
        var 
        hv6Shape Shape.TRIANGLE;
        var 
        isHV6 false;
        var 
        hv6 0;

        var 
        shapeNRTagCount 0;
        var 
        shapeWRTagCount 2000;
        var 
        shapeTSTagCount 4000;
        var 
        tsHelpLineTagCount 6000;
        var 
        tsHelpShapeTagCount 8000;
        var 
        shapeBar50HLTagCount 10000;
        var 
        shapeKeyTagCount 12000;
        var 
        shapeRaschkeTagCount 14000;
        var 
        shapeHV6TagCount 16000;


        function 
        preMain() {
            
        setPriceStudy(true);
            
        setColorPriceBars(true);
            
        setDefaultPriceBarColorColor.black );
            
        setStudyTitle("mvb");
            
        setCursorLabelName(""0);
            
        setDefaultBarStyle(PS_SOLID0);
            
        setDefaultBarFgColor(Color.red0);
            
        setDefaultBarThickness(10);
            
        setPlotType(PLOTTYPE_LINE0);
        }

        function 
        main() {

        var 
        numBars getNumBars();
        var 
        barIndex getCurrentBarIndex();
        //Die Anzahl an Bars, die es noch vor dem jetztigen auf dem Chart gibt.
        var restBars numBars barIndex;


        //Abstand auf der y-Achse zwischen den einzelnen Symbolen.
        if(restBars >= 50) {
            
        //hilow = callFunction("HighLowLevel.efs", "main", 50, 0);
            
        hilow HighLowLevel(500);
            
        hilowSpan hilow[1]-hilow[3];
        } else {
            
        //hilow = callFunction("HighLowLevel.efs", "main", restBars, 0);
            
        hilow HighLowLevel(restBars0);
            
        hilowSpan hilow[1]-hilow[3];
        }

        yAxisInitialGapForSymbols hilowSpan*yAxisInitialGapForSymbolsMultiplier;
        yAxisGapForStackingSymbols hilowSpan*yAxisGapForStackingSymbolsMultiplier;

            
        isNR false;
            
        isWR false;
            
        isTS false;
            
        isKey false;
            
        isBar50HL false;
            
        isRaschke false;
            
        isHV6 false;

            
        symbolsCountHigh 0;
            
        symbolsCountLow 0;

            if(
        getBarState() == BARSTATE_NEWBAR) {
                
        shapeNRTagCount++;
                
        shapeWRTagCount++;
                
        shapeTSTagCount++;
                
        shapeKeyTagCount++;
                
        tsHelpLineTagCount++;
                
        tsHelpShapeTagCount++;
                
        shapeBar50HLTagCount++;
                
        shapeRaschkeTagCount++;
                
        shapeHV6TagCount++;
            }

        //  if(restBars >= nrValues[nrValues.length-1]) {
                
        maxNR restBars;
                
        //nr = callFunction("NarrowRange.efs", "main", maxNR);
                
        nr NarrowRange(maxNR);
                if(
        nr >= nrValues[0]) {
                    
        isNR true;
                    
        showNR(nrfalse);
                }
        //    }

            
        if(restBars >= 20) {
                
        //ts = callFunction("TurtleSoup.efs", "main", "");
                
        ts TurtleSoup();
                if(
        ts[0] != 0) {
                    
        isTS true;
                    if(
        isNR) {
                        
        showTS(tstrue);
                    } else {
                        
        showTS(tsfalse);
                    }
                }
            }

            if(
        restBars >= 7) {
                
        //wr = callFunction("WideRange.efs", "main", wrValue);
                
        wr WideRange(wrValue);
                if(
        wr >= wrValue) {
                    
        isWR true;
                    if(
        isTS) {
                        
        showWR(wrtrue);
                    } else {
                        
        showWR(wrfalse);
                    }
                }
            }

            if(
        restBars >= 20) {
                
        //key = callFunction("KeyReversal.efs", "main", "");
                
        key KeyReversal();
                if(
        key == || key == -1) {
                    
        isKey true;
                    
        //if(isNR || isTS || isWR) {
                        
        showKey(keytrue);
                    
        //} else {
                    //    showKey(key, false);
                    //}
                
        }
            }
         
            if(
        restBars >= 50) {
                
        //raschke = callFunction("RaschkeHolyGrail.efs", "main", "");
                
        raschke RaschkeHolyGrail();
                if(
        raschke == || raschke == -1) {
                    
        isRaschke true;
                    
        showRaschke(raschketrue);
                }
            }
            
            if(
        restBars >= 50) {
                
        //bar50HL = callFunction("New50BarHighLow.efs", "main", "");
                
        bar50HL New50BarHighLow();
                if(
        bar50HL != 0) {
                    
        isBar50HL true;
                    
        showBar50HL(bar50HLtrue);
                }
            }
            if(
        restBars >= 100) {
                
        //hv6 = callFunction("ConnorHistVolatilityPercent.efs", "main", 6, 100);
                
        hv6 ConnorHistVolatilityPercent(6100);
                if(
        hv6 0.5) {
                    
        isHV6 true;
                    
        showHV6(hv6true);
                }
            }
         
            return 
        null;
        }

        function 
        getShapePosHigh() {
            
        symbolsCountHigh++;
            return 
        high()+(symbolsCountHigh-1)*yAxisGapForStackingSymbols+yAxisInitialGapForSymbols;
        }

        function 
        getShapePosLow() {
            
        symbolsCountLow++;
            return 
        low()-(symbolsCountLow-1)*yAxisGapForStackingSymbols-yAxisInitialGapForSymbols;
        }

        function 
        showNR(nrasShape) {
            var 
        shapePos=null;
            
            
        removeShape(shapeNRTagCount);
            if(
        nr >= nrValues[0]) {
                var 
        0;
                var 
        barColored false;
                while(
        nrValues.length-&& !barColored) {
                    if(
        nr >= nrValues[i] && nr nrValues[i+1]) {
                        if(!
        asShape) {
                            
        barColored true;
                            
        setPriceBarColor(nrColors[i]);
                        } else {
                            
        shapePos getShapePosLow();
                            
        drawShapeRelative(0shapePosnrShape""nrColors[i], Shape.TOPshapeNRTagCount);
                        }
                     }
                     
        i++;
                }
                if(
        nr >= nrValues[nrValues.length-1]) {
                    if(!
        asShape) {
                        
        setPriceBarColor(nrColors[nrColors.length-1]);
                    } else {
                        
        shapePos getShapePosLow();
                        
        drawShapeRelative(0shapePosnrShape""nrColors[i], Shape.TOPshapeNRTagCount);
                    }
                }
            }
        }

        function 
        showWR(wrasShape) {
            
        removeShape(shapeWRTagCount);
            if(
        wr >= wrValue) {
                if(!
        asShape) {
                    
        setPriceBarColor(wrColor);
                } else {
                    
        shapePos getShapePosHigh();
                    
        drawShapeRelative(0shapePoswrShape""wrColorShape.TOPshapeWRTagCount);
                }
            }
        }

        function 
        showKey(keyasShape) {
            var 
        shapePos=null;
            
            
        removeShape(shapeKeyTagCount);
            if(
        key == 1) {
                if(
        asShape) {
                    
        shapePos getShapePosLow();
                    
        drawShapeRelative(0shapePoskeyUpShape""keyColorShape.TOPshapeKeyTagCount);
                } else {
                    
        setPriceBarColor(keyColor);
                }
            }
            if(
        key == -1) {
                if(
        asShape) {
                    
        shapePos getShapePosHigh();
                    
        drawShapeRelative(0shapePoskeyDownShape""keyColorShape.TOPshapeKeyTagCount );
                } else {
                    
        setPriceBarColor(keyColor);
                }
            }
        }

        function 
        showRaschke(raschkeasShape) {
            var 
        shapePos=null;
            
            
        removeShape(shapeRaschkeTagCount);
            if(
        raschke == 1) {
                if(
        asShape) {
                    
        shapePos getShapePosLow();
                    
        drawShapeRelative(0shapePosraschkeUpShape""raschkeColorShape.TOPshapeRaschkeTagCount);
                } else {
                    
        setPriceBarColor(raschkeColor);
                }
            }
            if(
        raschke == -1) {
                if(
        asShape) {
                    
        shapePos getShapePosHigh();
                    
        drawShapeRelative(0shapePosraschkeDownShape""raschkeColorShape.TOPshapeRaschkeTagCount );
                } else {
                    
        setPriceBarColor(raschkeColor);
                }
            }
        }

        function 
        showBar50HL(bar50HLasShape) {
            var 
        shapePos=null;
            
            
        removeShape(shapeBar50HLTagCount);
            if(
        bar50HL 0) {
                if(
        asShape) {
                    
        shapePos getShapePosHigh();
                    
        drawShapeRelative(0shapePosbar50HLShape""bar50HLColorShape.TOPshapeBar50HLTagCount);
                } else {
                    
        setPriceBarColor(bar50HLColor);
                }
            }
            if(
        bar50HL 0) {
                if(
        asShape) {
                    
        shapePos getShapePosLow();
                    
        drawShapeRelative(0shapePosbar50HLShape""bar50HLColorShape.TOPshapeBar50HLTagCount);
                } else {
                    
        setPriceBarColor(bar50HLColor);
                }
            }
        }

        function 
        showHV6(hv6asShape) {
            var 
        shapePos=null;
            
            
        removeShape(shapeHV6TagCount);
            if(
        hv6 0.5) {
                if(
        asShape) {
                    
        shapePos getShapePosLow();
                    
        drawShapeRelative(0shapePoshv6Shape""hv6ColorShape.TOPshapeHV6TagCount);
                } else {
                    
        setPriceBarColor(hv6Color);
                }
            }
        }

        function 
        showTS(tsasShape) {
            var 
        shapePos=null;
            
            
        removeShape(shapeTSTagCount);
            if(
        ts[0] > 0) {
                if(!
        asShape) {
                    
        setPriceBarColor(tsColor);
                } else {
                    
        shapePos getShapePosHigh();
                    
        drawShapeRelative(0shapePostsShape""tsColorShape.TOPshapeTSTagCount);
                }
                if(
        showTSHelpLine) {
                    
        drawLineRelative(ts[1], high(ts[1]), 0high(ts[1]), tsHelpLineStyletsHelpLineThickNesstsColortsHelpLineTagCount);
                }
                if(
        showTSHelpShape) {
                    var 
        helpShapePos high(ts[1])+yAxisGapForStackingSymbols+yAxisInitialGapForSymbols;
                    
        drawShapeRelative(ts[1], helpShapePostsHelpShape""tsColorShape.TOP);
                }
            }
            if(
        ts[0] < 0) {
                if(!
        asShape) {
                    
        setPriceBarColor(tsColor);
                } else {
                    
        shapePos getShapePosLow();
                    
        drawShapeRelative(0shapePostsShape""tsColorShape.TOPshapeTSTagCount);
                }
                if(
        showTSHelpLine) {
                    
        drawLineRelative(ts[1], low(ts[1]), 0low(ts[1]), tsHelpLineStyletsHelpLineThickNesstsColortsHelpLineTagCount);
                }
                if(
        showTSHelpShape) {
                    var 
        helpShapePos low(ts[1])-yAxisGapForStackingSymbols-yAxisInitialGapForSymbols;
                    
        drawShapeRelative(ts[1], helpShapePostsHelpShape""tsColorShape.TOP);
                }
            }

        Wayne
        Attached Files

        Comment


        • #19
          This is the second part of the script, append/concatenate the two parts into one study and name it differently from mvb.efs.
          PHP Code:
          //// SUPPORTING FUNCTIONS ////
          function HighLowLevel(Periodoffset) {
              var 
          lastHighs=nulllastLows=null;
              var 
          oldHigh=nulloldLow=nulloldHighBarNumber=nulloldLowBarNumber=null;

              
              if(
          Period == null) {
                  
          Period 50;
              }
              
              if(
          offset == null) {
                  
          offset 0;
              }
              
              if(
          Period == 0) {
                  return [
          0000];
              }
              
              
          lastHighs high(offset, -(Period));
              
          oldHighBarNumber offset-1;
              
          oldHigh high(offset-1);
              
          lastLows low(offset, -(Period));
              
          oldLowBarNumber offset-1;
              
          oldLow low(offset-1);
              for(var 
          1lastHighs.lengthi++) {
                  
          //Bar 'i' ist von den Vorgängern derjenige mit dem bislang höchsten Hoch.
                  //Bar ' i ' is from the previous one with the highest ever high.
                  
          if(lastHighs[i] >= oldHigh) {
                      
          oldHighBarNumber offset-i;
                      
          oldHigh high(offset-i);
                  }
                  
          //Bar 'i' ist von den Vorgängern derjenige mit dem bislang tiefsten Tief.
                  //Bar ' i ' is from the previous one with the previously lowest low.
                  
          if(lastLows[i] <= oldLow) {
                      
          oldLowBarNumber offset-i;
                      
          oldLow low(offset-i);
                  }
              }
              return [
          oldHighBarNumberoldHigholdLowBarNumberoldLow];
          }
          function 
          NarrowRange(nrMaxZeitRaum) {

              
          //var prerange;//not used
              
          var range=null;
              var 
          isNR=null;
              var 
          barCount=null;    

              if(
          nrMaxZeitRaum == null) {
                  
          nrMaxZeitRaum 7;
              }
              
          range Math.round((high(0)-low(0))*10000);
              
          isNR true;
              
          barCount = -1;
              while(
          Math.abs(barCount) < nrMaxZeitRaum && (range Math.round((high(barCount)-low(barCount))*10000))) {
                  
          barCount--;
              }

                  return (
          Math.abs(barCount));
          }
          function 
          TurtleSoup() {
              var 
          newHighLowCurrentBar=nullnewHighLowPreviousBar=null;
              
              
          //newHighLowCurrentBar = callFunction("NewHighLow.efs", "main", 20, 0);
              
          newHighLowCurrentBar NewHighLow(200);
              
          //Turtlesoup high
              
          if(newHighLowCurrentBar[0] > 
                  
          && newHighLowCurrentBar[1] != -1
                  
          && newHighLowCurrentBar[1] != -2
                  
          && newHighLowCurrentBar[1] != -3
              
          ) {
                  return [
          1newHighLowCurrentBar[1], newHighLowCurrentBar[2]];
              }
              
          //Turtlesoup low
              
          if(newHighLowCurrentBar[0] < 
                  
          && newHighLowCurrentBar[1] != -1
                  
          && newHighLowCurrentBar[1] != -2
                  
          && newHighLowCurrentBar[1] != -3
              
          ) {
                  return [-
          1newHighLowCurrentBar[1], newHighLowCurrentBar[2]];
              }
              
          //Keine Suppe
              
          return [00close(0)];
          }
          function 
          WideRange(wrMaxZeitRaum) {

              var 
          range high(0)-low(0);
              var 
          isWR true;
              var 
          barCount = -1;
              
          //var prerange;//not used
              
              
          if(wrMaxZeitRaum == null) {
                  
          wrMaxZeitRaum 7;
              }

              while(
          isWR && Math.abs(barCount) < wrMaxZeitRaum) {
                  
          //prerange = high(barCount)-low(barCount);//not used
                  
          if(range <= (high(barCount)-low(barCount))) {
                      
          isWR false;
                  } else {
                      
          barCount--;
                  }
              }
                  return (
          Math.abs(barCount));
          }
          function 
          KeyReversal() {
              
          //highLowLevel20 = callFunction("HighLowLevel.efs", "main", 20, -1);
              
          highLowLevel20 HighLowLevel(20, -1);
              
          trendHighLow = (highLowLevel20[1] + highLowLevel20[3]) / 2;
              
              if(
          open(0) < low(-1) &&
                 
          close(0) > open(0) &&
                 
          low(0) < trendHighLow) {
                     return 
          1;
              }
              if(
          open(0) > high(-1) &&
                  
          close(0) < open(0)  &&
                  
          high(0) > trendHighLow) {
                      return -
          1;
              }
              return 
          0;
          }
          var 
          vADXDM nullvSMA50 nullvEMA20 null;
          var 
          HolyGrail_bInit=false;
          function 
          RaschkeHolyGrail() {
              if(!
          HolyGrail_bInit){
                  
          vADXDM adx(14,14);
                  
          vSMA50 sma(50);
                  
          vEMA20 ema(20);
              }
              if(
                
          vADXDM.getValue(ADXDMStudy.ADX) > 30 &&
                
          low(0) <= vEMA20.getValue(MAStudy.MA) &&
                
          high(0) >= vEMA20.getValue(MAStudy.MA)
              ) {
                  if(
          close(0) > vSMA50.getValue(MAStudy.MA)) {
                      return 
          1;
                  }
                  if(
          close(0) < vSMA50.getValue(MAStudy.MA)) {
                      return -
          1;
                  }
              } else {
                  return 
          0;
              }
          }
          function 
          New50BarHighLow() {
              var 
          newHighLowCurrentBar=nullnewHighLowPreviousBar=null;
              
              
          //newHighLowCurrentBar = callFunction("NewHighLow.efs", "main", 50, 0);
              //newHighLowPreviousBar = callFunction("NewHighLow.efs", "main", 50, -1);
              
          newHighLowCurrentBar NewHighLow(500);
              
          newHighLowPreviousBar NewHighLow(50, -1);
              if(
          newHighLowCurrentBar[0] > && newHighLowPreviousBar[0] == 0) {
                  return 
          1;
              }
              if(
          newHighLowCurrentBar[0] < && newHighLowPreviousBar[0] == 0) {
                  return -
          1;
              }
              return 
          0;
          }
          function 
          STDV(length) {
              var 
          sumX 0;
              var 
          sumX2 0;
              for (
          0length; ++i) {
                  
          sumX += aLog[i];
                  
          sumX2 += (aLog[i] * aLog[i])
              }
              var 
          meanX = (sumX/length);
              var 
          stdev Math.sqrt((sumX2/length) - (meanX*meanX));

              return 
          stdev;
          }

          var 
          aLog null;

          function 
          ConnorHistVolatilityPercent(nLength1nLength2) {
              if (
          nLength1 == null || nLength1 3)
                  
          nLength1 6;
              if (
          nLength2 == null)
                  
          nLength2 100;

              var 
          close(0);
              if (
          == null)
                  return;
              
              if (
          aLog == null && close(-nLength2-1) != null) {
                  
          aLog = new Array(nLength2);
                  for (
          0nLength2; ++i) {
                      
          aLog[i] = (close(-i)-close(-i-1))/close(-i-1);
                  }
              }

              if (
          aLog[nLength2-1] == null)
                  return;

              if (
          getBarState() == BARSTATE_NEWBAR) {
                  
          aLog.pop()
                  
          aLog.unshift((c-close(-1))/close(-1));
              } else {
                  
          aLog[0] = (c-close(-1))/close(-1);
              }
              
              var 
          stdv1 STDV(nLength1);
              var 
          stdv2 STDV(nLength2);
              
              var 
          HV = (stdv1 Math.sqrt(256) * 100) / (stdv2 Math.sqrt(256) * 100);
              
              
              return 
          HV;
          }
          function 
          NewHighLow(Periodoffset) {
              var 
          lastHighs=nulllastLows=null;
              var 
          oldHigh=nulloldLow=nulloldHighBarNumber=nulloldLowBarNumber=null;
              var 
          newHL=0,oldHLBarNumber=null;

              
              if(
          Period == 0) return [0000];
              if(
          Period == nullPeriod 50;
              if(
          Period 0Period = -(Period);
              if(
          offset == nulloffset 0;
              if(
          offset 0offset = -(offset);
              
              
          lastHighs high(offsetPeriod);
              
          oldHighBarNumber offset-1;
              
          oldHigh high(offset-1);
              
          lastLows low(offsetPeriod);
              
          oldLowBarNumber offset-1;
              
          oldLow low(offset-1);
              for(var 
          1lastHighs.lengthi++) {
                  
          //Bar ' i ' is from the previous one with the highest ever high.
                  
          if(lastHighs[i] >= oldHigh) {
                      
          oldHighBarNumber offset-i;
                      
          oldHigh high(offset-i);
                      
          oldHLBarNumber=oldHighBarNumber;
                  }
                  
          //Bar ' i ' is from the previous one with the previously lowest low.
                  
          if(lastLows[i] <= oldLow) {
                      
          oldLowBarNumber offset-i;
                      
          oldLow low(offset-i);
                      
          oldHLBarNumber=oldLowBarNumber;
                  }
              }
              if(
          high(0)>oldHighnewHL 1;
              if(
          low(0)>oldLownewHL = -1;
              return [
          newHL,oldHLBarNumber,oldHighBarNumberoldHigholdLowBarNumberoldLow];

          Wayne

          Comment


          • #20
            Please disregard the url link at the beginning of the code in the first post. I forgot to remove it. It is not pertinent to the code.
            BTW it seems difficult to interpret what to do with the drawings on the chart. I didn't find anything that explains how to use it.

            Wayne
            Last edited by waynecd; 09-03-2016, 01:07 AM.

            Comment


            • #21
              Hello Wayne,

              1st: thank you for your support!!

              Enclosed is the HighLowLevel.efs which i have.


              Actual i get this error when i use your script and the original script:

              C:/Users/fk/Documents/Interactive Data/Formulas/MvB/mvb.efs, line 99: TypeError: hilow is null

              Thx for your help, tommorow i'll post what i'll see with this script.

              Frunk
              Attached Files

              Comment


              • #22
                Hi Frunk,

                Hi,

                Thanks for the scripts. We are almost there.

                Three scripts call for HighLowLevel.efs. The three scripts are mvb.efs, TurtleSoup.efs, and New50BarHighLow.efs.
                Getting that last script will allow updating the scripts to run on eSignal ver 12.

                Wayne
                My mistake in the above post I should have typed NewHighLow.efs instead of HighLowLevel.efs.

                I can't duplicate your error, it runs fine on my tests. To narrow it down: what symbol, interval, and timetemplate were you using when the error occured?

                Comment


                • #23
                  See if this works for you.

                  mvb InternalFunctions.efs

                  Even if it does please post NewHighLow.efs if you have it.

                  Wayne

                  Comment


                  • #24
                    Here is an imageof the chart:
                    Click image for larger version

Name:	MVB Chart.PNG
Views:	1
Size:	46.3 KB
ID:	243034

                    Wayne

                    Comment


                    • #25
                      Hello Wayne,

                      now it works for me - MANY THANKS to you!
                      Attached is for you the
                      HighLowLevel.efs

                      All this efs's i've got from MvB - an german Trades which you helped two years ago. Now he use CQG and can't get Support on esignal to me.

                      In the Charts shout different narrow range bars and wide range bars displayed in different colours or with an point or diamond.
                      Like this following Charts:

                      Click image for larger version

Name:	agi.jpg
Views:	1
Size:	59.8 KB
ID:	243036
                      Click image for larger version

Name:	iwm.jpg
Views:	1
Size:	67.1 KB
ID:	243037
                      Click image for larger version

Name:	ng.jpg
Views:	1
Size:	66.7 KB
ID:	243038

                      I think with your code i can rebuild his (now simplified) Charts.

                      Frunk

                      Comment


                      • #26
                        Good to hear. Good luck with it.

                        Wayne

                        Comment

                        Working...
                        X