Announcement

Collapse
No announcement yet.

Matt G.

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Matt G.

    In the threads below:

    "Issues with Ergotic..." and "efs Not Updating"

    Brad answered, to paraphrase, that he and Matt G. had figured out what the issues were, and how to fix them.

    Um, ok.

    But I'm still having to click like a madman to update the Blau Candlestick Oscillator to have it draw correctly, as are many others with their favorites.

    So I think it's great that you guys have figured out the problem, but how about something more tangible now....like what the problem is, and, dare I say it.....when we can get a fix.

    Heck, at least post what the problem IS so that perhaps some of us can try and fix the code ourselves. But saying that you know and we don't is a big "yay" for you, but a bigger "boo" for the end users.

    Regards,
    V

  • #2
    Hi,

    Only the TSI has been modified so far (AFAIKHere for the corrected version.

    If you look at it vs. the original you can see what has changed, it would be pretty simple to mod the other Ergotic if you need them fixed.

    Hopefully TSSupport will mod all the affected formula and update the fileshare...but I haven't heard any input on that.
    Garth

    Comment


    • #3
      Garth,
      thanks for the idea, but I thought that GETVALUE() was the culprit in the Ergotic efs....

      and the Blau Candlestick efs does not have a call to Getvalue().

      Any other ideas would be appreciated.

      V

      Comment


      • #4
        Hi,

        No the problem had nothing to do with getvalue(), it had to do with the placement of newbar checks and the use of non-resetting variables.

        Compare the standard with the tweaked one, the changes are obvious (and did indeed fix the update problem).
        Garth

        Comment


        • #5
          Ergotic TSI inidicator....

          Hey all. Matt sent me a revised TSI indicator about 2 weeks ago. I thought he would have put it up here. I'll add it to this thread for everyone...

          /************************************************** *****************
          Description : This Indicator plots Ergotic_TSI indicator
          Provided By : Developed by TS Support, LLC for eSignal. (c) Copyright 2002
          ************************************************** ******************/

          function preMain()
          {
          setStudyTitle("Ergotic_TSI");
          setCursorLabelName("ErgTSI", 0);
          setCursorLabelName("SigLin", 1);
          setCursorLabelName("ZeroLine", 2);
          setDefaultBarFgColor(Color.fushcia, 0);
          setDefaultBarFgColor(Color.grey, 1);
          setDefaultBarFgColor(Color.cyan, 2);
          }
          var XA1_1 = 0.0;
          var XA2_1 = 0.0;
          var XA3_1 = 0.0;
          var aXA1_1 = 0.0;
          var aXA2_1 = 0.0;
          var aXA3_1 = 0.0;
          var XA_1 = 0.0;


          var XA1 = 0;
          var XA2 = 0;
          var XA3 = 0;
          var aXA1 = 0;
          var aXA2 = 0;
          var aXA3 = 0;
          var XA = 0;


          function main(sPrice, r, s, u, ZeroLine, SmthLen)
          {
          if (sPrice == null) sPrice = "Close";
          if (r == null) r = 4;
          if (s == null) s = 8;
          if (u == null) u = 6;
          if (ZeroLine == null) ZeroLine = 0;
          if (SmthLen == null) SmthLen = 3;

          // makes sense
          var Price = getValue(sPrice, 0, -2);
          // MAG
          if(Price == null) {
          return;
          }

          var vPrice = Price[0] - Price[1];

          // MAG (moved from bottom of formula)
          if (getBarState() == BARSTATE_NEWBAR)
          {
          XA1_1 = XA1;
          XA2_1 = XA2;
          XA3_1 = XA3;
          aXA1_1 = aXA1;
          aXA2_1 = aXA2;
          aXA3_1 = aXA3;
          XA_1 = XA;
          }
          /**
          XA1 = XA1_1;
          XA2 = XA2_1;
          XA3 = XA3_1;
          aXA1 = aXA1_1;
          aXA2 = aXA2_1;
          aXA3 = aXA3_1;
          XA = XA_1;
          **/


          // constants
          var FactorR = 2 / (r + 1);
          var FactorS = 2 / (s + 1);
          var FactorU = 2 / (u + 1);

          // MAG removed 'var'
          XA1 = FactorR * vPrice + (1 - FactorR) * XA1_1;
          XA2 = FactorS * XA1 + (1 - FactorS) * XA2_1;
          XA3 = FactorU * XA2 + (1 - FactorU) * XA3_1;

          vPrice = Math.abs(Price[0] - Price[1]);

          // MAG removed 'var'
          aXA1 = FactorR * vPrice + (1 - FactorR) * aXA1_1;
          aXA2 = FactorS * aXA1 + (1 - FactorS) * aXA2_1;
          aXA3 = FactorU * aXA2 + (1 - FactorU) * aXA3_1;

          var Val1 = 100 * XA3;
          var Val2 = aXA3;
          var TSI = 0.0;

          if (Val2 != 0) TSI = Val1 / Val2;
          else TSI = 0.0;

          var Factor = 2 / (SmthLen + 1);

          // MAG removed 'var'
          XA = Factor * TSI + (1 - Factor) * XA_1;

          return new Array(TSI, XA, ZeroLine);
          }
          Brad Matheny
          eSignal Solution Provider since 2000

          Comment


          • #6
            Alex Fleming has been good enough to provide me with a Blau Candlestick Oscillator that updates properly in real time....no more refreshing manually.


            /************************************************** *****************
            Provided By : TS Support, LLC for eSignal. (c) Copyright 2002
            ************************************************** ******************/
            /* Updated efs: Alex Fleming has updated this to update properly in real time */

            function preMain()
            {
            setStudyTitle("BCo");
            setCursorLabelName("BCO",0);
            setDefaultBarFgColor(Color.red,0);
            addBand(0, PS_DASH, 2, Color.RGB(255,87,87));

            }
            var EMA_1 = 0;
            var EMA1_1 = 0;
            var vEMA_1 = 0;
            var vEMA1_1 = 0;
            function main(r,s)
            {
            if (r == null)
            r = 32;
            if(s == null)
            s = 12;
            if (getBarState() == BARSTATE_NEWBAR)
            {
            EMA_1 = EMA;
            EMA1_1 = EMA1;
            vEMA_1 = vEMA;
            vEMA1_1 = vEMA1;
            }

            K = 2 / (r + 1);
            K1 = 2 / (s + 1);


            EMA = K * (close() - open()) + (1 - K) * EMA_1;
            EMA1 = K1 * EMA + (1 - K1) * EMA1_1;
            vEMA = K * (high() - low()) + (1 - K) * vEMA_1;
            vEMA1 = K1 * vEMA + (1 - K1) * vEMA1_1;

            if(vEMA1 != 0)
            return EMA1 / vEMA1;
            else
            return;
            }

            Comment

            Working...
            X