HACKER SAFE certified sites prevent over 99.9% of hacker crime.

adaptrade software 

Home Products Support Contact Us

Newsletter
Article Library
Videos
What's New
About Us
Site Map
Search

 

Privacy Policy

 

 

 

Builder: Frequently Asked Questions (FAQ)

 

General Questions
  1. How does Builder work?

  2. How much do I need to know about strategy design/development to use Builder?

  3. How is the algorithm in Builder different from genetic optimization, such as the genetic optimizer in TradeStation?

  4. Is a trial version available?

  5. Will Builder work on 64 bit computers?

  6. Does Builder take advantage of multi-core processors?

  7. How long does it take to build a strategy?

  8. Does Builder work with TS 2000i?

  9. Does Builder work with MultiCharts?

  10. Can strategies created by Builder be automated in TradeStation?

  11. When was Builder first released?

  12. Are there any independent reviews of Builder?

  13. Are upgrades free?

  14. Can I install the program on multiple computers?

Features
  1. I noticed my favorite indicator is not included in Builder. Do you plan to add other indicators in the future?

  2. I use custom indicators. Can I add my own indicators to Builder?

  3. Does Builder allow multiple time frames or data streams, such as Data2, Data3, etc?

  4. Can I build a strategy across multiple markets, such as gold and crude oil, so it will work on both markets?

  5. Do you plan to release versions of Builder for other scripting languages?

Profitability
  1. How do I know the trading strategies produced by Builder can be traded profitably?

  2. Don't approaches like genetic programming lead to over-optimized and curve-fit results?

  3. Most technical indicators don't work. Why would Builder generate good strategies if it's based on technical indicators?

  4. Are there strategies generated by Builder that are running live with results I can see?

Program Usage
  1. In some cases, the results displayed by Builder in the Strategy View don’t match the results I get when I run the strategy in TradeStation. Am I doing something wrong?

  2. I selected the exit end-of-day order type, but my trades don't exit at the end of day in real time trading. What can I do?

  3. I want my strategies to have smaller losses. How do I get tighter stops in Builder?

  4. Why do my trades exit past the time I set in the time range option?

  5. I specified no more than three entries per day but get four. Why?

  6. Why does Builder sometimes seem to replace my top strategy during the build process?

  7. Why are most of my final strategies the same?

  8. How do you know when a strategy is broken and needs to be rebuilt or re-optimized?

  9. Does changing the settings in the middle of a build affect the build process?

 

 

General Program Questions

 

How does Builder work?

Builder automatically generates strategy code based on the performance criteria that you specify. Technically, the program uses a technique called genetic programming, which "evolves" a population of trading strategies to maximize the so-called fitness, which is based on the performance criteria you select. More information on the build algorithm is provided here. The article library also includes information on genetic programming.

 

How much do I need to know about strategy design/development to use Builder?

Builder is designed to be user-friendly and easy to use for those with a basic knowledge of trading systems. You don't need to know how to design or develop trading strategies, and no programming is required. However, you do need to know a good trading strategy when you see one. This is how you select the performance criteria that guide the build process. The program incorporates features such as out-of-sample testing that help insure good strategies are found, but it's ultimately up to you to decide when the strategies are good enough.

 

How is the algorithm in Builder different from genetic optimization, such as the genetic optimizer in TradeStation?

Genetic optimizers, such as the one in TradeStation, are designed to optimize parameter values, such as the inputs to a trading strategy. The algorithm in Builder is called genetic programming. By contrast, genetic programming optimizes the rules and logic of a trading strategy. It actually evolves the trading system starting from a set of possible technical indicators, logical operators, inequality operators, and entry and exit order types. In effect, it automates the manual process a strategy developer might go through in trying to develop a new trading strategy from scratch given only the market data and the developer's knowledge of trading and the trading strategy development process.

 

Is a trial version available?

Yes, a trial is available. Builder is available as a fully functional trial for 14 days before it requires activation via purchase. A license code will be automatically generated at the time of purchase. This will allow you to activate the trial, which will convert it to a fully licensed version of Builder. The trial is the same as the licensed version; no separate download is required once a license is purchased.

 

Will Builder work on 64 bit computers?

Yes, Builder will runs on both 64-bit and 32-bit versions of Windows. A version specifically for 64-bit Windows is available. This enables the processing of larger price files and larger populations of strategies.

 

Does Builder take advantage of multi-core processors?

Absolutely. The build algorithm was parallelized starting in version 1.2.0. This means Builder will take full advantage of all available cores on a multi-core machine. Because of this and the implementation of a more efficient strategy evaluation algorithm, version 1.2.0 is up to 25 times faster on multi-core computers than prior versions.

 

How long does it take to build a strategy?

Here are two examples for a quad-core 3 GHz processor (based on version 1.2.0.2):

bullet10 years of daily bars; population size of 1000; 5 generations. Processing time: 17 seconds.
bullet14 years of 15 min bars of E-mini S&P; population size of 100; 5 generations. Processing time: 1 min, 1 sec.

 

Does Builder work with TS 2000i?

Yes. Builder includes a "code output" option for selecting between current versions of TS and TS 2000i. Any strategy in Builder, including those built from prior versions, can be re-written for either version of TS at any time simply by selecting the strategy in the Performance table and selecting Evaluate from the Build menu.

 

Does Builder work with MultiCharts?

Yes. Builder includes the ability to read text files of price data saved from MultiCharts. This means if you use MultiCharts to develop and run your EasyLanguage strategies, rather than TradeStation, you can now easily save your chart data for use in Builder. All strategies generated by Builder contain pure, standard EasyLanguage code (no dll's), so there is already maximum compatibility between Builder and MultiCharts in terms of strategy code evaluation.

 

Can strategies created by Builder be automated in TradeStation?

Absolutely. Strategies created by Builder contain standard EasyLanguage code and can be automated just as easily as any other TradeStation strategy.

 

When was Builder first released?

March 2010. Builder is undergoing continuous improvement with new versions coming out almost every month now.

 

Are there any independent reviews of Builder?

Builder is starting to get noticed. The following links discuss Builder and/or provide examples of its use:

bullet

Product Review: Adaptrade Builder 1.2 (Technical Analysis of Stocks & Commodities magazine, Nov 2011)

bullet

Calling The Tune In The Gold Market (Technical Analysis of Stocks & Commodities magazine, Jul 2011)

bullet

Trading System - La nuova frontiera (book discussion; Italian)

bullet

Financnik.com (online review; Czech)

 

Are upgrades free?

Yes, upgrades are free through the current major version number. For example, if you purchase version 1.2, then there will be no charge for any release that starts with "1", such as 1.3, 1.4, etc. Version numbers are being incremented quite gradually at this point, so all new releases will be free upgrades for the foreseeable future. I have no plan for upgrade charges for version 2 and beyond at this point.

 

Can I install the program on multiple computers?

Yes. Builder is licensed per-user, not per-computer. Provided it's for your own use only, you can install the program on multiple computers. The single-user license comes with three activations by default. More can be added upon request.

Features

 

I noticed my favorite indicator is not included in Builder. Do you plan to add other indicators in the future?

Yes, future releases of Builder will include additional indicators. Also, the custom indicator feature (next answer) can be used to include other indicators in Builder in addition to the ones currently built-in to the program.

 

I use custom indicators. Can I add my own indicators to Builder?

Yes. Builder now includes a feature that allows you to include your own custom indicators in the program. By plotting your custom indicator on a chart and saving the data to a text file, the column of indicator values can be read into Builder and associated with a text string that represents the code for the corresponding indicator function used to generate the values in the file. Builder will use the indicator in strategies and include the text string for the indicator function code in the entry or exit statement in which the indicator is used. Provided that function is available in the trading platform when the strategy is executed, the code will generate the same results as in Builder. More information on this feature can be found in the Input Data and Settings section of the user's guide.

 

Does Builder allow multiple time frames or data streams, such as Data2, Data3, etc?

Not directly, but the custom indicator feature can be used to include indicators that reference data2, data3, and so on, provided the secondary data streams have the same scale as data1. The ability to directly add multiple time frames will be added in a future release.

 

Can I build a strategy across multiple markets, such as gold and crude oil, so it will work on both markets?

Not automatically, but it's possible to build strategies that work well over multiple markets by rotating the build generations among multiple price files. The ability to accomplish this automatically will be added in a future release.

 

Do you plan to release versions of Builder for other scripting languages?

Yes. The development plan for Builder includes enabling code output for scripting languages other than EasyLanguage for TradeStation/MultiCharts. At this time, no decision has been made as to which other scripting languages will be included.

Profitability

How do I know the trading strategies produced by Builder can be traded profitably?

Compared to strategies built via the traditional, manual way, the strategies generated by Builder should be more likely to perform well in real time. This is because Builder incorporates several features that help guide the process to strategies that are likely to have good out-of-sample and real-time performance. In particular, Builder includes automatic out-of-sample testing, so you can immediately see how well the strategies perform on data not used in the build. Also, you can choose to optimize for statistical significance, maximize the number of trades, and minimize the system complexity, all of which will increase the quality of the generated strategies. Moreover, the strategy logic produced by Builder incorporates volatility-normalized parameters, which help adapt the strategies to different market conditions. The user's guide includes a section that covers factors affecting out-of-sample performance and ways to maximize the out-of-sample results.

 

Don't approaches like genetic programming lead to over-optimized and curve-fit results?

Optimization is not the same as over-optimization. The key is to avoid over-fitting, which leads to results that look good in historical testing but don't hold up well out-of-sample or in real-time tracking or trading. Builder includes automatic out-of-sample testing so that all member of the population of strategies are evaluated out-of-sample. That means they're evaluated on data not used during the build process, which provides an objective measure of performance.

 

Moreover, there are several metrics in Builder that can be incorporated into the fitness function just by selecting them from the Build Goals table that will increase the likelihood of getting superior out-of-sample results. These include statistical significance, correlation coefficient of the equity curve, number of trades, strategy complexity, among others. Other measures of strategy robustness are currently being evaluated for inclusion in Builder, and a robustness analysis feature is planned for an upcoming release.

 

Most technical indicators don't work. Why would Builder generate good strategies if it's based on technical indicators?

By themselves, most technical indicators are ineffective, especially when used as stand-alone trading systems and in the way originally recommended by the indicator's creator. That's probably because the markets tend to be efficient, so that any advantage afforded by a particular indicator is lost after it becomes commonly used. However, this is not how Builder works.

 

Builder combines indicators in unique ways, most of which have probably never been previously used in trading strategies. Most indicators can be thought of as ways to transform a price series so that the result is a smoothed or normalized version of the market. The transformation itself is not the most important part; it's how that transformed representation of the market is used to construct trading rules. This is where Builder differs from other trading strategy software. Builder looks at the indicator values as input to the construction of trading rules, rather than as the trading rules themselves. The algorithm that Builder uses to construct strategies means there is an almost infinite variety of unique trading logic available to build your strategies.

 

Moreover, Builder includes non-indicator trading logic, such as price patterns, breakout entries, time-of-day, day-of-week, and other entry and exit constraints. If desired, strategies can be built without using any technical indicators.

 

Are there strategies generated by Builder that are running live with results I can see?

I don't track strategies via live trading myself. However, Builder will perform out-of-sample testing automatically to verify each strategy in the final population. It's always a good idea when developing trading strategies to test the strategies in real time by tracking them forward. Since it only takes a matter of minutes to start creating strategies with Builder, you can use part or even most of the trial period to test strategies forward in real time if you wish. Also, the strategies you create during the trial don't expire, so you can continue to test and track them even after your trial of Builder is over.

Program Usage

In some cases, the results displayed by Builder in the Strategy View don’t match the results I get when I run the strategy in TradeStation. Am I doing something wrong?

There are several possible explanations. One possibility is that the date ranges of the price series are different between Builder and TradeStation. It's also important to set the "Maximum number of bars study will reference" in TradeStation (Format Strategies, Properties for All) to the MaxBarsBack value listed in the Performance table. This will insure that the calculations start on the correct bar. Also note that Builder deducts the trading costs once per trade, whereas TradeStation deducts costs once "per side". For example, if your trading costs are set to $25 in Builder, they should be set to $12.50 in TradeStation.
 

Another possible source of difference is how Builder and TradeStation use trading volume on intraday data. If your strategy uses volume in an indicator for either an entry or exit condition and your price data is intraday data, TradeStation may be using only the "up volume", rather than the total (up plus down) volume. On the Markets tab in Builder, there is an option on the Price File Format window (click on the Format button) to "Set the volume to the sum of up-tick and down-tick volumes."  Try changing this option then re-evaluate the strategy using the Evaluate command on the Build menu.

 

For forex trading, one source of discrepancy is the so-called "roll over credit", which TradeStation calculates on foreign exchange trades. This is currently outside the scope of Builder. In most cases, these credits are small amounts that do not affect the overall results substantially.


Also, even with all the settings correct, there may be small differences. Oftentimes, these result from rounding errors and other small differences that are unavoidable. For example, if an oscillator is compared to a fixed value, such as 80.0, using the less-than-of-equal (<=) operator, there may be a bar where the value calculates as exactly 80.0 in Builder but as 80.0000001 in TradeStation. This seemingly insignificant difference can result in a trade that is not taken in TradeStation but is taken in Builder. This could then affect subsequent trades because the presence or absence of a trade can either prevent or allow another trade to be taken. More often than not, the differences appear only in the first few trades and disappear when the indicator values are less influenced by starting conditions.

 

I selected the exit end-of-day order type, but my trades don't exit at the end of day in real time trading. What can I do?

The "Exit end-of-day" order type on the Order Types tab in Builder causes the program to include the SetExitOnClose command in strategies. This command is mostly for back-testing purposes. In real time trading, it causes a market order to be generated on the close of the last bar of the current session. However, by the time the order is sent, the market has already closed, so the order is not filled. A work-around technique that some traders use is to define a custom session that ends a few minutes prior to the actual session close. Then the SetExitOnClose command will have time to exit your position prior to the end of the actual session. You just need to make sure to correctly set the session end time in Builder for the custom session, and, of course, the chart in TradeStation/MultiCharts has to use the same custom session as in Builder in order to avoid discrepancies between the results in Builder and those in TradeStation/MultiCharts.

 

A simpler approach is to use the Trade Times option on the Strategy Options tab. Leave the first time at the default, which is the session start time, and set the second time to at least one bar prior to the end of the session. That will trigger an exit prior to the end of the session.

 

I want my strategies to have smaller losses. How do I get tighter stops in Builder?

If the stops are too large, the easiest solution is to reduce the maximum stop size on the Strategy Options tab. For ATR stops, you would want to reduce the size of the max ATR Multiple, which controls the range of values used to define the size of ATR stops. You can also set a target for the Max Loss metric. For example, if you want no more than 9 points loss on trades in the E-mini S&P, you can set a target for the Max Loss metric of $450 (i.e., 9 points x $50 per point). Alternatively, you can try including the Ave MAE (maximum adverse excursion) in the build goals. The Ave MAE is a measure of the intra-trade drawdown. There is also a Max MAE metric (maximum value of the MAE over all trades).

 

If the problem is that you're not getting protective stops in your strategies, you can include any selected exit type in all strategies. To include a protective stop, just select the protective stop in the "Include" column on the Order Types tab.

 

Why do my trades exit past the time I set in the time range option?

The time range option allows you to set a time range for your trades. If, for example, you set the time range to 9:30 am to 3:00 pm, the strategy logic will be modified so that both entries and exits take place within this range. However, it's important to keep in mind that the time stamp on bars is typically the time the bar closes. For example, if you're using 30 minute bars, a bar time of 3:30 pm means the bar closes at 3:30. Since it's a 30 minute bar, that means it opens at 3:00 pm. The time range option causes a trade to exit on the next bar's open if the time of the current bar is greater than or equal to the time at the end of the range. So if you've specified a time range ending at 3:00 pm, the trade will exit on the open of the 3:30 pm bar (assuming 30 minute bars). The exit time will be listed as 3:30 pm because that's the time stamp on the bar, but the actual time will be a moment after 3:00 pm, which corresponds to the open of the 3:30 pm bar.

 

Also keep in mind that a trading strategy can only trade the bars of price data it has. If you're using 60 minute bars that end on even hours (e.g., 2:00 pm, 3:00 pm, 4:00 pm, etc.), and you specify a time range ending at 3:15 pm, your trades will not end at 3:15 pm because there's no bar with that time. In this case, the trade would exit on the open of the 5:00 pm bar, which would be a moment after 4:00 pm.

 

I specified no more than three entries per day but get four. Why?

The option to limit the number of entries per day uses the EntriesToday function in EasyLanguage. It checks to make sure the current value is less than your specified limit before placing the orders for the next bar. However, it can still place two orders the next day – one long and one short – either of which or both may be filled, depending on the market. That means you could get four entries if both are filled on the next bar.

 

Why does Builder sometimes seem to replace my top strategy during the build process?

The program never replaces the top strategy in the population. However, after new strategies are added, the top strategy may change, which means the top strategy from a prior generation may no longer be the stop strategy in the current generation. The strategy to replace at each step is chosen as the least fit member among a small number of randomly chosen members. The number of such members is given by the so-called tournament size, which can be changed on the Build Options tab. To decrease the likelihood that one of the top strategies might be replaced, you can increase the tournament size. The default size is 2. Increasing it to a high number is not recommended and may hurt the performance of the program.

 

Why are most of my final strategies the same?

If many or all of your final strategies are the same or similar, you probably need to reduce the number of generations. After a number of generations, the results will often tend to converge, resulting in duplicate strategies. This can also happen if insufficient variety is in the initial population. To get more variety in the initial population, either increase the population size or make sure that the build sets (indicator and order) have not been overly restricted by removing too many items. It may also be possible to increase diversity in the final set of strategies by increasing the mutation rate and decreasing the crossover rate.

 

How do you know when a strategy is broken and needs to be rebuilt or re-optimized?

Depending on the market, time frame, and other factors, it's always possible that a trading strategy will stop working at some point and need to be rebuilt or re-optimized. The user's guide includes a section on this topic. One approach involves tracking the trailing performance characteristics of the strategy and rebuilding or re-optimizing when the results start to differ significantly from the long-term averages. A simpler approach is to track the equity curve and look for deviations from straight-line performance. If the strategy needs to be rebuilt, it's just as easy with Builder to create a new strategy as it was to develop the original one.

 

One point to keep in mind: if you try to re-optimize a strategy's parameter values before the strategy starts to underperform, there's no reason to think you'll get different results (assuming it's already optimized). It's only if the strategy has been underperforming that the optimization process is likely to find better parameter values than those you already found from the last optimization.

 

Does changing the settings in the middle of a build affect the build process?

No. Any changes made to the settings, such as build goals or strategy options, have no affect on an ongoing build. However, if you stop the build then restart it, any changes you've made will be picked up and used in the new build.

 

 

 

 

Adaptrade Builder

$1495 Lifetime License v1.x

Go to online store

Terms & Conditions  Ordering Information

 

Trial Download...

Download a fully functional free trial version of Adaptrade Builder. Click here to download now without obligation.

 

 

If you'd like to be informed of new developments, news, and special offers from Adaptrade Software, please join our email list. Thank you.

 

Join Our Email List
Email:  
For Email Marketing you can trust

 

Home ] Products ] Support ] Contact Us ]

Copyright © 2004-2012 Adaptrade Software. All rights reserved.