Announcement

Collapse
No announcement yet.

question for Alex

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

  • Michael
    Again the efs is working in real time and correctly.
    What you are seeing though is an effect of how lines are colored by the efs.
    In the first image you can see that a new bar has just formed, the MA is now rising and the Oscillator is still declining. The line though appears to be still red but the label on the Y-Axis and in the Cursor Window have already turned white.



    This happens because the color of a line is determined by the color of the last point going forward. See also this post for a more detailed explanation.
    If you were to change the plot from PLOTTYPE_LINE to PLOTTYPE_DOT you would see that it is actually already plotting in real time in white.



    There is a solution but it is not available using Formula Wizard. Open the efs with the Editor and replace
    setPlotType(PLOTTYPE_LINE, 0);
    with
    setPlotType(PLOTTYPE_INSTANTCOLORLINE, 0);

    The resulting plot will be as in the following image ie. it colors the line "backwards".
    Hope this helps
    Alex

    Comment


    • Michael
      With regards to the second issue attached you will find a modified version of your efs that paints both plots in white when the conditions are met.
      Open the efs with the Formula Wizard and see the changes I have made in Set 3, 4, 7 and 8.
      You will see that I have added a ,0 or ,1 in the commands to paint the plot in the ...then the following will happen every time section. These values assign the command to the corresponding element in the return statement. If you open the efs with the Editor you will see that in preMain the default colors for the plots use the same syntax.
      Alex

      Attached Files

      Comment


      • Thanks

        Alexis, whatever they're paying you isn't enough. Both of your suggestions worked. Tomorrow when the esignal offices open I want you to forward a copy of this e-mail to them and demand a raise. Unless, of course, that means a rise in my subscription rate. In that case you'll just have to accept my thanks and admiration.

        Michael Helms

        Comment


        • Michael
          First of all glad to hear you now have everything working properly.
          FYI like many others who help out on this board I do not work for eSignal.
          Irrespective, thank you for your very generous words
          Alex

          Comment


          • One problem solved, another pops up

            Hi Alexis. I hope all is going well with you. With regard to testmulti2lines(2), my EFS you modified and attached to your 6/6/04 posting: It did solve the plotting problem I asked about but on later and closer inspection seems to present a different problem. After adding the InstantColorLine to the SetPlotType command, as you suggested, and watchig it in tick replay I noticed that the line generated for the first oscillator, vPriceOsc6_16, did exactly what I wanted: When condition sets 3 and 4 are met the current line segment of the oscillator immediately whites itself out. But when condition sets 7 and 8 (which are identical to sets 3 and 4) are met, the current line segment of the second oscillator, vPriceOsc9_24, only sometimes whites itself out and sometimes does not.
            Thinking I might have made some simple error I wrote a second similar EFS (Twolines, attached) based on your plot assignment suggestion: adding 0's and 1's to paint the appropriate lines. When you run Twolines in tick replay if you put the two underlying sMAs on your price chart and add the two oscillators on which the conditions are based, you can track the performance of the two generated plot lines and see that, like testmulti2lines(2) with instantcolorlines added, the first oscillator is whiting itself out correctly at all times but the second one is whiting itself out only some of the time. Do you have any idea why this is happening and what I can do to remedy the situation?

            By the way, in Twolines I used != which the formula Wizard can't seem to swallow. If you load Twolines into the Wizard to check the syntax, it immediately changes all the != to <. If I'm right about this intolerance, you might consider making a suggestion to the esignal programers to add != as a tolerated operator in the Formula Wizard.
            Finally, is there a way to get the Wizard to add debugging statements? I think I added them correctly but it would be nice if the Wizard did it on its own. Thank you for your help.

            Michael Helms
            Last edited by mikejhelms; 06-12-2004, 10:34 PM.

            Comment


            • Sorry, a bug in twolines.efs, but the problem still exists.

              I'm very sorry, Alexis, but the Twolines.efs I attached to my last post had a bug in it which I'm sure you discovered the first time you tried to run it and got the error message. Twolines originally plotted three lines, so I slimed it down to two to save you time in reviewing it. But just taking the plot out still left something in an array statement that referred to the third line - and so the error message pointing out an undefined variable. Attached is Twolines(2) with that fixed. But the problem I described in the previous post still exists.
              Again, I very sorry if you spent any time looking at the bugged program.

              Michael Helms
              Last edited by mikejhelms; 06-12-2004, 10:35 PM.

              Comment


              • Michael
                The problem with testmulti2lines(2).efs (and with twolines(2).efs also) is that you are hitting some of the limitations of the Formula Wizard.
                If you open the efs with the Editor you will see that all the conditions after the first one are set in series by an else if. What this means is that the efs proceeds on to the next condition only if the one it is evaluating returns false. If it returns true then the efs stops evaluating for any other condition.
                Notice in fact that your indicator never shows concurrent false (ie white) plots.
                To change this you need to delete all the else in the else if conditional statements. This way the efs will verify all the conditions individually irrespective of whether any single one returns true. At this point you will see concurrent false plots.
                Once you implement the change though you will no longer be able to use the Formula Wizard to view and/or edit the efs.
                Alex

                Comment


                • Michael
                  With regards to your other questions about the Formula Wizard eSignal has already indicated that it is working on a second generation of the Formula Wizard that besides being much more powerful will also take advantage of the new version of the efs language. No release date has been set for either.

                  As to the debugging statements there currently is no way to set them in the Formula Wizard.
                  The attached efs shows you the correct syntax for the debug statement you have in twolines(2).efs
                  Hope this helps
                  Alex
                  Attached Files

                  Comment


                  • Have I bumped up against another Wizard barrier?

                    Hi Alexis. I just wanted to confirm with you that I've bumped up against another Formula Wizard limit before I go into the editor and write the code myself. I'm working on an EFS into which I have put 24 conditions. At this point I can't see a way to add more. Am I right that the Wizard can only create 24 conditions, or is there a way I have overlooked to add more? Thanks for your help.

                    Michael Helms

                    Comment


                    • Michael
                      I have never actually used that many conditional statements with the Formula Wizard so I don't know the answer to that question.
                      Irrespective I think that the more important issue is the way the Formula Wizard sets the conditions, ie in series, which I suspect will at some point cause parts of your efs to not be evaluated.
                      At this stage I would suggest you switch to writing your code with the Editor.
                      Alex

                      Comment


                      • Thanks

                        Alexis, you're right I will switch over to the editor now. Many thanks for getting a novice trader through the basics.

                        Michael Helms

                        Comment

                        Working...
                        X