Announcement

Collapse
No announcement yet.

Alternate EFS's

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

  • #16
    Audible alert

    I have downloaded your trendline alert, but I am missing an audible alert function.
    Would it be possible to inlude such a function, so that e.g. a piece of music will start to play as soon as the trendline alert goes off?

    Comment


    • #17
      Tekunda,

      It is already in the efs. Lines 158 and 163. Go into the efs and set the path in those commands to the sound you want to play.

      Comment


      • #18
        New shUtilities v1 Library

        I have put together a revision to my Utilities library which supersedes the previous version in it's entirety. The library is entitled shUtilities v1.efsLib and
        there are accompanying html and word versions of the help file in my fileshare. Here is the link to the associated fileshare folder...

        shUtilities v1.efsLib

        here is an excerpt from the help file which is a synopsis of the library's content and respective functionality ...




        I'll be posting some of the examples with screenshots and other clarifications as time permits.

        FWIW, I am using the library and the majority of tools myself, and have made them as efficient as I possibly can.

        Comment


        • #19
          The first tool in the library is the Time and Date Utility. This is the first example efs in the help file...


          example (1)a - Using the debugPrintln() function to output data
          // special notes, open the formula output window to see the debugPrintln Output

          PHP Code:
          var t1 addLibrary("shUtilities v1.efsLib");   // Library declaration, outside main
          var td t1.shTimeDate();  // (1) Time and Date declaration, outside main
          var t1.sPivot(); // (2) Steve's Pivots declaration, outside main
          var tr t1.trace(true); // (3) Trace Utility declaration, outside main
          var nFile t1.ezFile("example","txt",true); // (4) File Utility declaration, outside main
          var rou t1.dRound(4); // (5) Rapid Rounding Tool declaration, outside main
          var rem t1.removText(); // (6) "Remove-Text" Tool declaration, outside main

          var bInit false;
          var 
          nTitle "example(1)a";

          function 
          preMain(){
              
          setPriceStudy(true);
              
          setStudyTitle(nTitle);
              
          setCursorLabelName("1st",0);
              
          setDefaultBarFgColor(Color.blue0);
              
          setDefaultBarThickness(1,0);
              
          debugClear();
          }

          function 
          main() {
              
          td.sTd(); // actual command is put as the very first step in the main function.  this calls the library time function and is required

              
          if(bInit == false){
                  
          bInit true;
              }
              
          debugPrintln("27: bar = "+td.barCount+" rawtime = "+td.bRawtime);

          This efs as well as the others in the help file creates an instance of each of the tools and utilities in the library. To accomplish this, a block of 7 lines containing all the required declarations was placed at the beginning of each efs (prior to all other steps). I recommend placing these steps there as a standard format. That way, not only are all of the library's tools and utilities readily accessable, they may used immediately after the declaration block.

          The first two critical step(s) in this efs are the first two lines where the library declaration and time and date declaration are made. The third critical step is first line inside function main(). This step is used to ensure the 50 or so variables made available by the efs are correct and the other functionality is available. Specific details about the data, assocoated variables and additional functionality is documented in the help file.

          Running this efs with the output set to the formula output window will take several seconds to run. This particular efs with the output going to the formula output window should not be run concurrent with trading, as use of the debugPrintln() method of output should only be used for troubleshooting and can slow things down in fast markets.

          Here is a screenshot of the debug output:

          Comment


          • #20
            Steve's Pivot Tool

            The second tool from the shUtilities v1 library is Steve's Pivot Tool, which is an advanced Pivot tool that allows the user to supply one or
            two data sets or efs2 series. Here is a screenshot of two of the examples from the library help file applied to a daily ES - 24 hour chart.

            The comments on the screenshot apply towards the lower pane where I applied the Pivot Tool against a hybrid version of an indicator
            referred to as the "super indicator" that was popular in the forum back a year or two.





            The library and the help files are located in the Functions fileshare group (open group) here. As delineated in the help file, the
            numerical values associated with the trend lines, moving averages and other variables associated with the tool are accessible and can be used to create trading logic.

            Comment


            • #21
              Steve's Pivot Tool

              A followup to the previous post from the market today.

              Comment


              • #22
                Steve's Pivot Tool

                I added another example to the help file for the shUtilities v1 library which calculates the pivots of the CCI(14) indicator (2)l. Then applied this to a 344T chart for the Russel along with the (2)f example in the price pane.

                The crossovers in the price pane (which has had no changes to the settings to adapt it to the security or the 344T interval) and the CCI(14) indicator in the non-price pane (which I did tweak for the 344T interval) were quite interesting.

                These are simply example efs's which contain the minimal steps to show how to use and run the shUtilities v1 library tools. While the library is encrypted, there are no passwords required to run any of the functions or tools in this library. The examples may be modified to adapt to trading style, preferences, etc.

                All of the data you see on the chart(s) is available from the library for the development of trading rules and generation of trade signals. Instructions for doing that are contained in the help file here.




                Next, I plan on covering the third tool in the library, the "Trace Utility", which, btw, is my personal favorite.

                Comment


                • #23
                  The third shUtilities Library Tool is the Trace Utility

                  The third tool from the shUtilities v1 library is the Trace Utility – It was designed to be used in lieu of debugPrintln, and is roughly
                  five (5) times more efficient than using debugPrintln().

                  What I like about the utility is that the data is saved to a file, readily accessible from a button on the screen. Alternately, it can easily
                  be opened by navigating to the file in the target folder. The utility can be also turned on or off without having to remove the statements within
                  the efs, making the tool even more efficient to use.

                  Further details regarding the Trace Utility are contained here in the help files. The library is available for download at the same location as well.

                  Here is a link to a thread where I used the Trace utility and took some time to assist another forum member by recoding his posted code snippet.
                  Hopefully this will help him determine the problem with his coding logic. Check the link to see his feedback.

                  Here is a screenshot showing the Trace button on the screen along with the text file opened when the button was clicked. The efs used for this
                  screenshot was example (3)a, which is included in its entirety in the help file(s).


                  Comment


                  • #24
                    Rapid Rounding Tool

                    The fifth tool (skipped the fourth, for now) from the shUtilities v1 library is the Rapid Rounding Tool – An object which can round numbers to any length (0 to 10 digits) using simple commands, roughly twice as efficient as using ‘.toFixed()’ or other similar techniques. The Tool also includes provision to round to the nearest Tick value.

                    This tool was created to provide the fastest method I could come up with for rounding while making it a called function. Once the actual declaration is made, the full functionality is available to you. The goal here was to provide a convenient and very efficient means to round numbers, and I believe I got them both.

                    Once declared with these two lines...

                    PHP Code:
                    var t1 addLibrary("shUtilities v1.efsLib");   // Library declaration, outside main
                    var rou t1.dRound(); // (5) Rapid Rounding Tool declaration, outside main 
                    To round to zero digits, use the rou.nd0() function, to round to 1 digits, use the rou.nd1() function, with every digit up to 10 available by just including the number
                    between nd and the parenthesis, i.e. rou.nd#().

                    for example, to round 1163.33333333 to the 4th digit, simply use this command


                    var mynum = rou.nd4( 1163.33333333) ;
                    results in ==> mynum = 1163.3333



                    Further details regarding the Rapid Rounding Tool are contained here in the help files. The library is available for download at the same location as well.

                    Comment


                    • #25
                      Here is an example efs which demonstrates how the tick size or minimum move of a security is made available to the user of the Time and Date tool in the shUtilities v1 library.

                      PHP Code:
                      // demonstrates the tick size feature of the library
                      var t1 addLibrary("shUtilities v1.efsLib");   // Library declaration, outside main
                      var td t1.shTimeDate();  // (1) Time and Date declaration, outside main

                      var nTitle "example(1)f";

                      function 
                      preMain(){
                       
                      setPriceStudy(true);
                       
                      setStudyTitle(nTitle);
                       
                      setCursorLabelName("tck",0);
                       
                      setDefaultBarFgColor(Color.blue0);
                       
                      setDefaultBarThickness(1,0);
                       
                      debugClear();
                      }

                      function 
                      main() {
                       
                      td.sTd(); // actual command is put as the very first step in the main function.  this calls the library time function and is required
                          
                       
                      var tSize td.tickSize;
                          
                       
                      // adding quotes converts number to a text value, allowing the value to go to the cursor window
                       // but preventing number from going to the chart
                       
                      tSize +="";

                       return  
                      tSize

                      I have added this sample efs to the help file here

                      This is an excerpt from the help file describing the tickSize variable

                      Comment


                      • #26
                        Hey there Steve,

                        I see the shTimer.efsLib on the link below, however I do not see shUtilities v1.efsLib - Do i have the worng Location?

                        Best,

                        Tim

                        Comment


                        • #27
                          Hi Tim,

                          I just pulled that version off the fileshare as I was just finishing up a revision to the library. When I post the new version (in a day or two) I will send you a note. The link should be the same. Thanks for the interest

                          Comment


                          • #28
                            I posted a new version of the shUtilities library and help files here last week. Various rounding functions were added which are in essance pre-compiled, resulting in some significant performance improvements.

                            This revision of the rounding tool was created to provide the most efficient method to round numbers. Once the library declaration is made, the full functionality is available to you. The methods in Revision 1 are twice as efficient as those Revision 0.

                            I added three example efs's to the help file to demonstrate the more efficient methods, they are examples 5(c), 5(d) and 5(e).

                            To return a rounded number to zero digits, append the numerical variable with .round0() , to obtain a rounded number to one digit append the numerical variable with .round1() , with every # up to 10 available, by simply appending the numerical variable with .round#().

                            To achieve Tick rounding similar to Revision 0 functionality, at Revision 1 efficiency, append the numerical variable with .roundT#() , where supported values of # are 2,3,4,5,6,7,8,9,10,12,16,20,32. This will return a rounded number to the nearest half (1/2) to the nearest 32nd (1/32). Should any alternate fractions be desired, use either Revision 0, or contact me and I will add this.

                            To achieve automatic rounding to the nearest tick, append the numerical variable with .roundTa(). The automatic rounding feature requires the determination of the ticksize variable, the specific example in the help file is 5(e).

                            The help file is 54 or so pages long, including approximately 30 example efs's.

                            If you have any questions, please ask, sometimes I am not very clear in my explanations. If you have any requests for changes, or additional functionality, please ask as well, I am open to suggestions.

                            Comment


                            • #29
                              Many Thanks Steve!

                              Tim

                              Comment


                              • #30
                                I posted a new version of the shUtilities library and help here last night.

                                I clarified variable names in the Pivot library to minimize confusion and added arrays to capture user input data history. As such, previous versions of the library will not work with this efs and there is not backward compatibility. I also changed the way the pivots (changes in direction) are handled when they are superseded, instead of reverting back to the previous valid pivot, I revise the current pivot (and associated trend line) that is developing to reflect the new condition.

                                I also put together an efs that takes the 2(k) example of the 'super-Indicator' and applies a series of tests and conditionals against the library variables and provides buy signals. The methods used in this example in the "Rules" and other supporting functions are those that I use when I am evaluating conditionals. I also showed how the revision level of the library can be accessed.

                                Because they write quite a bit to the chart, please exhibit caution, the output to the screen can slow a system down in real time if you get carried away with long timeframes or lots of tests.

                                here is a screenshot:




                                The efs nor the indicator is perfect, but the efs does show how to evaluate the data coming from the library. Additionally, the methods I show here to evaluate the different conditionals may be a little complex at first, but my hope is that will help as well.

                                I only provided the buy conditionals and left a section to insert the sell conditionals. For those who choose, you can add your own buy and sell conditionals, or just add the sell conditionals on your own using the buy conditionals as a framework.
                                Attached Files

                                Comment

                                Working...
                                X