eSignal back-testing limitations

Discussion in 'Strategy Development' started by Fractal, Nov 24, 2010.

  1. Fractal


    Recently I finally sat down to code my intraday strategy, which is already rules-based and uses a custom indicator. The efs has had a long-standing limitation: when assigning 4 indices to variables and performing relatively simple math functions on these variables, it won't return more than a few days of data. This hasn't been a huge problem before as I've only been trading real time.

    After a few weeks I finalized the efs, but, as expected, eSignal's back-testing engine suffers from the same limitation as the script itself. The strategy will only run for the duration of the script -- on a few days of data. Not against, say, a db of OHLC data for specific symbols as I'd naively hoped.

    Do any of you guys have advice on how to analyze a more robust dataset using eSignal? Is this a pure limitation of the software, or can I download or purchase specific data much further back in time to run scripts against? Otherwise, it's probably worth looking into new platforms.

    Any advice would be appreciated. Thanks guys.
  2. Kindly tell us what you mean by "assigning 4 indices to variables," identify the time frame of the chart you are testing on, and tell us how you set up the time template.
  3. Fractal


    Certainly -- glad to have the eyes of one of ET's sages.

    Basically, I am assigning the close(sym($ATLO.NQ-ST)) (one example) to a variable, then performing some simple math on that value. This is done in a helper function, which then returns the indicator the values of which I then run through several conditionals to determine entry and exit.

    The ideal time frame would be 5 minutes; anything longer provides marginally more data but with less precision, of course. Though certain signals can only occur while the index is live during market hours, other parts of the script need to continue after the close, so the script runs on a 24 hour template.

    I'm using eSignal's canned 24hr template for the Strategy Analyzer.

    I imagine I'm stuck for now, but if you see something boneheaded about this I'd certainly be interested!
  4. Right click on the chart and select time templates. It probably says "The Defaults." Click on Edit and then expand The Defaults. It probably identifies the interval as "I-Default" for intraday. Go down and select the number of days you want in the chart and save it as a new time template. Apply the template, and you are done. It won't go back more than six months of trading days. You are not bone-headed. EasySignal is defecult. IMO time templates are the poorest documented feature.
  5. Fractal


    A sincere thank you! That solved the problem in its entirety. You're right about the lack of documentation -- I'd never had thought of looking there.

    Many thanks, Arthur.
  6. It was a great pleasure for me to be helpful rather than snotty. Feel free to ask any other questions you have on the joys of backtesting with ESignal. I have used it for over ten years and cursed it roundly every day.
  7. Fractal


    Well I've actually always appreciated the AD wit and sarcasm more than the helpfulness, but that's only because I was never the interlocutor. In this case, it's a boon.

    Will do, and truly appreciative.
  8. Hey Arthur,

    While you guys are discussing the Time Template in esignal, you may be able to answer a question for me. I have a couple of scripts that rely on a certain amount of tick data to generate signals. I currently have the time template set up for '1V' on two days worth of data, but the script doesn't load immediately I have to wait for the amount of tick data specified in the script to actually trade during the current session, before it will run. This is frustrating.

    Got any ideas how to modify the time template so the data retrieves immediately?

    Thanks in advance,

  9. Fractal


    I will reply to this and provide absolutely no information relevant to your question. However, I will say, since this thread is up again, that I owe Arthur some globalized food products.

    Back-tested the strategy and made several tweaks that substantially improved the stats. Been doing this all day enthusiastically.

    Remaining appreciative!
  10. I think you are trying to confuse a senile old man. Scripts won't run on tick data, that is, on a tick chart. So I guess you mean that you need a certain number of transactions to properly initialize the code on a fixed time interval chart. People used to bitch that ESignal took too long to load prior data, so in current versions it only loads data a little bit before the time duration showing on the chart. Roll the screen back in time and it will load more old data. If that doesn't do the trick, then initialize explicitly at a specific time in the script.
    #10     Nov 25, 2010