Announcement

Collapse
No announcement yet.

EFS Studies

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

  • #46
    EFS Studies : MESA ITL variations

    As I understand it, the proprietary MESA ITL uses the MESA algorithm to determine the Dominant Cycle while the public-domain ones (see the code in John Ehlers "Rocket Science for Traders" text book) are based on the inferior (according to Ehlers) Homodyne Discriminator. Same thing for his Sinewave Indicator,etc.

    Bob A.

    Comment


    • #47
      Ehler's ITL

      Thanks for the comments.

      Does the MESA ITL have the same level of lag? Does it more accurately reflect the trend?

      Mark

      Comment


      • #48
        Does the MESA ITL have the same level of lag? Does it more accurately reflect the trend?
        Well, the first part is hard to answer. The Kalman filter doesn't lag at all in the MESA study, it is a great low lag filter. The Instant trend line does lag, but in part it should to give you the trending, not trending signals.

        The combo work far better in the MESA study than in the public domain studies. Attached is an example of why. It is a daily SUNW chart. The upper (price) study is the MESA ITL (red) and kalman (blue) study. The lower is a slightly modifed version of the study posted here (modified to give more accurate results). Again, red if the ITL and blue is the Moving Average.

        I added vertical lines at some of the MESA cross points. The red vertical lines are for where a trend mode was established, the blue are for where the market was in cycle mode. Clearly when entering and exiting trend mode (when you want to take the signal from these studies) you enter and exit much earlier. In cycle mode MESA and the PD study signal within a few bars of each other...sometimes the PD even signals first...but you are not supposed to use these indicators when in cycle mode!

        I see similar results on most of the charts I have looked at.
        Attached Files
        Garth

        Comment


        • #49
          One additional screenshot, this is the sine and lead sine indicator from MESA...notice it does a pretty good job of signaling when the market is in cycyle mode.
          Attached Files
          Garth

          Comment


          • #50
            Thanks again

            Garth

            I see the improvement in the MESA ITL. Makes sense. If I developed it and intended to sell it, I'd not tell everyone the whole story and destroy my own market.

            I take it that you have had success with the MESA tools.

            Thanks
            Mark

            Comment


            • #51
              Mark,

              I really just started playing with ITL last week, and Sine/Lead sine this week. I see some good potential with these tools, but have yet to determine how they might be added to my existing system and if these additions improve the overall performance. I'm really in phase I...getting to know and understand the tools. phase II will start next week...seeing how best to use them to suplement, or even replace some of the tools I use now. Phase III will be backtesting and fine tuning.

              After all of that if I determine there is enough improvement, then I will start using them in my trading.
              Garth

              Comment


              • #52
                Hi guys,

                I have been working with the MESA indicators for a while myself, too. Unfortunately in the recent releases there is a bug with the sine and lead sine indicators. Please refer to this thread regarding that information http://forum.esignalcentral.com/show...highlight=MESA . As of build 7.2 564, these indicators are blocked out from use. Are you guys using some other sine/lead sine indicators?

                One of the most simplistic uses for these indicators involves trading the sine/lead sine crosses during cycle mode. It's covered in Ehlers' book 'Rocket Science for Traders'.

                Essentially, how it is supposed to work, is when the 'Mode', which is actually just an indicator for simplicity, is in cycle mode, you trade the sine/lead sine crosses. The MESA 'Mode' indicator is actually just a more simple representation of the Kalman Filter and ITL crossing, from what I understand. So, if Kalman is above ITL, it's cycle mode, or vice versa. When they cross, it's trend mode. (I'm not exactly sure which is which, just using this as an example).

                This is probably the most simple implementation of a trading system using the MESA indicators. Hope this information was useful to some of you.

                Cheers,
                Joshua C. Bergeron
                jcb@othernet / #ESignal

                Comment


                • #53
                  RE: MESA, strategies and testing

                  I'll be interested to know how your evaluation of the MESA tools go.

                  I have been surfing the web and reading up on statistics, in which I have a somewhat limited background. The academic papers I have found discussing Kalman filters.... well they are very academic and assume more of a statistics background than I have. (Unfortunately/Fortunately) I am the sort that has to understand the underlying principles and code them myself, so this may take a while. On the other hand, I'll learn something.

                  For backtesting, so far I see that using eSignal, one can do some limited backtesting, however to do what I imagine to be thorough backtesting and optimization will require taking the studies out of eSignal, building a test driver and running them against a database varying parameters and evaluating the results. Again I think that that will take a while.

                  This leads me back to another post I had which was how to programatically get data out of eSignal and store it. This seems to be something that eSignal has no interest in enabling unless it is done from within Excel.

                  At the moment I am still at the stage of looking over the tools that are available, and seeing what might be put together to make a system that will test even reasonably well within eSignal.

                  Mark


                  There was a reason that the folks that made the most money in the Gold Rush sold shovels.

                  Comment


                  • #54
                    If you're looking for good explanations of how the MESA indicators work, I would recommend reading Ehlers book I mentioned in the previous post. A lot of it is pretty mathematical, and quite frankly -- above my head. But for those of us who aren't mathematicians, it still provides a good lesson on how all those indicators work, what they're used for, and how to put them together to have a decent trading system.

                    Right now I'm not using MESA actively, due to the problems with the sine/lead sine indicators, but the other indicators are certainly helpful. I've been trying to utilize the mode indicator in a variety of trading systems I've been working with. While ESignal's backtesting routines are functional, the lack of historical data and some other important capabilities are missing.

                    I too have been looking to log years of historical data for my own backtesting purposes. I was hoping to develope a small application using the TurboFeed Datamanger API, but unfortunately it's only available (at a steep price) for use by companies.

                    I also looked into DDE (without using excel) to capture and store data to a custom database, but I have not made much headway through this route, because a lot of that documentation is not readily available.

                    Right now I'm looking into using the Interactive Brokers SDK for stockpiling some historical data. Another option is the MyTrack SDK.

                    Finally, the CME (most of my interest has been with ES and NQ) has the data available for a small price, which you can parse and put into a database. The biggest issue though, as you mentioned, is developing the platform to test your trading strategies on.

                    Like you, I've been looking into a other options to do serious backtesting and optimizations of systems I hope to run through EFS/Dynaorder. One of the more obvious solutions is (gasp) TradeStation, because it has pretty decent backtesting capabilities. Unfortunately, you can't really use the MESA indicators there, unless you have them in ELS (the code for the indicators is actually in the Ehlers book). I'd also love to backtest the Advanced Get Elliot Wave setups and optimize them for my own systems, but again, these aren't available in TS.

                    It's a tight rope!

                    Best of luck,

                    Joshua C. Bergeron
                    jcb@othernet / #ESignal

                    Comment


                    • #55
                      Joshua,

                      The Sine/Lead Sine bug was fixed and is in the latest alpha build (my snapshots are from that build). So once a new beta is rolled out it should be there...I'm not sure on the ETA.

                      Garth
                      Garth

                      Comment


                      • #56
                        I'll be happy to report back to the group (heck I may even start an appropriately titled threat rather than usurping someone elses - sorry tssupport).

                        I do most of my backtesting on daily charts...where eSignal does have enough data to do a valid set of tests. I then test it for the limited amount of data available on a 60 and 30 to verify the daily tests. If a system backtests well against a variety of symbols on a long term daily, and similar results are seen on shorter term 60 and 30 (I do most of my intraday trading off a 60) then I assume it is good. Not optimal but better than nothing.

                        At this point and time some of the advaced GET tools are almost impossible to backtest, even if you have enough data...so unless you were going to look at some very basic things I wouldn't count on doing much backtesting with them using the backtester.
                        Garth

                        Comment


                        • #57
                          Note that there is a short but fairly good document in the fileshare on how to trade MESA...just do a search for MESA in the fileshare and you can find it.

                          G
                          Garth

                          Comment


                          • #58
                            Stochastic with exponential averages

                            Has anyone got a formula for stochastics that use exponential rather than simple averages.

                            stochastic=stochastic(14,3,3)
                            the 14 period stochastic is averaged over 3 periods, then
                            is averaged (again) over 3 periods

                            I tried to write one, but it seems to take an eternity to calculate like 5-10 seconds if I change symbols.

                            Clearly I cannot code properly, as an ema should be faster to calculate than an sma.

                            Any help anyone

                            thanks

                            macavity

                            Comment


                            • #59
                              EFS Study

                              hi Macavity,

                              here is the indicator you asked for

                              /************************************************** *****************
                              Provided By : TS Support, LLC for eSignal. (c) Copyright 2002
                              ************************************************** ******************/

                              /////////////////////////// Inputs /////////////////////////////////////////
                              // nLength - indicates number of bars used in the Stochastic calculation //
                              // nSmoothing - indicates number of bars used for smoothing //
                              ////////////////////////////////////////////////////////////////////////////

                              function preMain()
                              {
                              setStudyTitle("Preferred Stochastic");
                              setCursorLabelName("percentK", 0);
                              setCursorLabelName("Smoothing", 1);
                              setDefaultBarFgColor(Color.blue, 0);
                              setDefaultBarFgColor(Color.red, 1);
                              addBand(20, PS_SOLID, 1, Color.black);
                              addBand(80, PS_SOLID, 1, Color.black);

                              }

                              var MAVt_1 = 0;
                              var MAVt1_1 = 0;

                              function main(nLength, nSmoothing) {
                              if(nLength == null)
                              nLength = 14;
                              if(nSmoothing == null)
                              nSmoothing = 3;

                              var percentK;
                              var ll = 0, hh = 0;
                              var i,j;
                              var sum = 0;
                              var vHigh = getValue("High", 0, -nLength);
                              var vLow = getValue("Low", 0, -nLength);
                              var temp = 0;
                              var MAVt;

                              if(vHigh == null || vLow == null)
                              return;


                              for(j = 0; j < nLength; j++)
                              if(j == 0){
                              ll = vLow[j];
                              hh = vHigh[j];
                              }
                              else{
                              hh = Math.max(hh, vHigh[j]);
                              ll = Math.min(ll, vLow[j]);
                              }

                              percentK = ((close() - ll) / (hh - ll)) * 100;
                              MAVt = MAVt_1 + (percentK - MAVt_1) / nSmoothing;
                              MAVt1 = MAVt1_1 + (MAVt - MAVt1_1) / nSmoothing;
                              if (getBarState() == BARSTATE_NEWBAR){
                              MAVt_1 = MAVt;
                              MAVt1_1 = MAVt1;
                              }
                              return new Array(percentK,MAVt1);
                              }

                              Comment


                              • #60
                                Thanks a lot!

                                Much appreciated

                                Comment

                                Working...
                                X