Announcement

Collapse
No announcement yet.

Differance Between 10.2.1 and 10.3.1491

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

  • Differance Between 10.2.1 and 10.3.1491

    ATR
    Attached Files

  • #2
    Hello

    I use setComputeOnClose() because some of the codes are too big to put in real time.

    Using setComputeOnClose() in 10.2.1 and all Previous eSignal to 7.9.1 atr(14, inv("M")); gives me the same value across all timeframes (which is Monthly 0 becasue I'm using inv("M"))

    but in 10.3.1491 using the same code gives me Monthly -1 because I'm using setComputeOnClose() on Weekly and Monthly chart.

    I thought that's the whole idea of using inv("M"), of course that also reflect to everything using inv("M") not only ATR.

    Here is a Picture and

    Code Below

    Thank you

    Ketoma
    Attached Files
    Last edited by ketoma21; 02-07-2009, 12:18 PM.

    Comment


    • #3
      Ketoma
      First of all keep in mind that setComputeOnClose() applies only to the interval in which the efs is running [and not to the external ones called by an efs] ie if you are running an efs that uses setComputeOnClose() on a 1 minute chart and in that efs you are calling another interval then setComputeOnClose() applies only to the 1 minute interval

      Using setComputeOnClose() in 10.2.1 atr(14, inv("M")); gives me the same value across all timeframes (which is Monthly 0 becasue I'm using inv("M"))

      but in 10.3.1491 using the same code gives me Monthly -1 because I'm using setComputeOnClose() on Weekly and Monthly chart.
      As I understand it what you are seeing is due to a fix implemented in 10.3 to a long standing bug which caused setComputeOnClose() to be disabled when an efs was running on daily or higher intervals.
      So what is happening in your case is that when you run that efs on a monthly chart setComputeOnClose() now takes effect which means that it will not return the current month's value as that bar is not yet completed.
      The weekly chart you posted was also showing the previous month's value because the most recent weekly bar [which was also the first bar of the current month] had not yet closed. However as of yesterday morning the weekly chart should have returned the same values as on the daily and intraday since that week is now completed
      Alex


      Originally posted by ketoma21
      Hello

      I use setComputeOnClose() because some of the codes are too big to put in real time.

      Using setComputeOnClose() in 10.2.1 and all Previous eSignal to 7.9.1 atr(14, inv("M")); gives me the same value across all timeframes (which is Monthly 0 becasue I'm using inv("M"))

      but in 10.3.1491 using the same code gives me Monthly -1 because I'm using setComputeOnClose() on Weekly and Monthly chart.

      I thought that's the whole idea of using inv("M"), of course that also reflect to everything using inv("M") not only ATR.

      Here is a Picture and

      Code Below

      Thank you

      Ketoma

      Comment


      • #4
        Thank you Alexis


        the first part I do understand but maybe I did not explain correctly.



        the second part, that's what I needed to know, if that was an old bug that got fixed or a new bug in the new esignal.

        I wanted to know that before I go and change allot of my programs that uses inv("M") to add an if statement for Monthly and weekly.


        Thank you again

        Ketoma
        Last edited by ketoma21; 02-10-2009, 04:46 PM.

        Comment


        • #5
          Ketoma
          You are most welcome
          Alex


          Originally posted by ketoma21
          Thank you Alexis


          the first part I do understand but maybe I did not explain correctly.



          the second part, that's what I needed to know, if that was an old bug that got fixed or a new bug in the new esignal.

          I wanted to know that before I go and change allot of my programs that uses inv("M") to add an if statement for Monthly and weekly.


          Thank you again

          Ketoma

          Comment


          • #6
            First of all keep in mind that setComputeOnClose() applies only to the interval in which the efs is running [and not to the external ones called by an efs] ie if you are running an efs that uses setComputeOnClose() on a 1 minute chart and in that efs you are calling another interval then setComputeOnClose() applies only to the 1 minute interval
            Maybe worth qualifying that for completeness, if (as tested 10.2) you have an external series and set ComputeOnClose() the reading of price values from the external series will continue as if ComputeOnClose was not set, but your main() will only be called for the chart series NEWBAR, so ComputeOnClose does have some effect on the external series.

            That is, main() is not be called with each tick of the external series, and somewhat to my surprise, I find that you will NOT get main() called for each extenal NEWBAR either - I had thought that you got the external bar close "event" too so you could use an external series as a "heartbeat" on a ComputeOnClose() chart, ie allowing some CPU optimisation, apparently not (or has this behaviour changed recently?) - there is still a benefit to an external "heartbeat" series though as it can (with ComputeOnClose() not set) be used to generate additional timing signals (better alternative to the Date object) so that you can run processing and or time-stamping at an interval between "tick" and "bar", but not if you use tick-based charts, see thread.

            Comment


            • #7
              Thank you dave, I will look into it

              Comment

              Working...
              X