Page 1 of 1
staring conditions
Posted: Thu Oct 11, 2007 3:06 pm
by sjyi
Hi:
I'm a newbie at both trading and with back-testing.
I have a background in systems engineering so simulations (of various systems and circuits) are not foreign for me.
As I am trading equity only at the moment, I am looking to use a mechanical method to replace my emotional filled manual method.
While playing with the Triple MA system, I have noticed that the initial trades don't meet the definitions of the Triple MA.
Per the book Way of the Turtle, "The buys and sells occur when the 150-day moving average [shortMovingAverage] crosses over a slower 250-day moving average [mediumMovingAverage]."
At the start of the back-testing period, quite a lot of trades are entered where there is no "crossing over" of shortMovingAverage of mediumMovingAverage. As a result, most of these initial trades are losers.
When I have examined the Entry Order script, indeed there is no checking for such an initial condition.
I have downloaded and installed Trading Blox Builder 2.1.23 dated 6/1/2007.
I don't know if the production release contains different script or not, but I find this to be worrisome since the running account balance affects subsequent trades in terms of any references to %age of the account or equity.
Would someone please fill me in with explanation of how this is addressed in production (on-line) system? Or is this fact just ignored to achieve simpler computation during equilibrium state.
Posted: Fri Oct 12, 2007 1:03 am
by AFJ Garner
As you have stated, the code for the built in TMA system does not provide for a crossover. As you also appreciate a few second's work will convert the system.
The biggest differences will be noted as you use successively longer MAs. You may find an advantage in using the system "as is" as your system becomes slower with fewer trades. In such a situation waiting for a crossover at start up can leave you in a similar situation to Vladimir and Estragon in that famous Samuel Beckett play.
Posted: Fri Oct 12, 2007 9:39 am
by Tim Arnold
The system was written that way to avoid missing trades in long term systems. Individual signals can be skipped due to volume, equity, margin, or correlation constraints. Using the true crossover logic would then necessitate waiting until the next crossover to enter. With this logic the system will enter at the next available opportunity, if the lma is still greater than the sma (for a long trade).
This is a personal preference, of course, and either an extra line in the IF statement or the use of the Crossover function will change the logic as desired.
In addition, there is a Money Manager With Priming that will skip the first trade for each market in a simulation. This will prevent those early mid trend entries that are often losing trades. You can try this approach as well if this is how you would startup your actual trading account.
Posted: Fri Oct 12, 2007 3:09 pm
by sjyi
Thanks for your replies.
Am a little bit puzzled though.
I believe that only Blox Builder Edition of the product has access to scripts. So if I purchase either Turtle or Profession edition, I don't think I can modify the scripts. Also, per product description "Triple Moving Average - Using three moving averages, this system buys when the short moving average (MA) crosses over the medium MA, and the medium is over the long MA. The system exits when the short MA crosses back under the medium MA. Unlike the Dual MA system, this system is sometimes out of the market."
The system behavior is incorrect per company's own definition.
Re: "The system was written that way to avoid missing trades in long term systems. Individual signals can be skipped due to volume, equity, margin, or correlation constraints. "
I'd like to plea my ignorance of your software for this is my second day playing with it. So I don't know how individual signals can be skipped. If this is the case, I see a greater issue. The system can skip signals unbeknownst to the user and it provides a work around while violating a fundamental requirement for the system.
"Using the true crossover logic would then necessitate waiting until the next crossover to enter. With this logic the system will enter at the next available opportunity, if the lma is still greater than the sma (for a long trade). ", if I missed the crossover signal shouldn't I wait for the next cross over?
"there is a Money Manager With Priming that will skip the first trade for each market in a simulation". I could not find any help for Money Manager with Priming. When I searched help, I only found Basic, Fixed Fractional and Multi Money Manager. Would you please point me to exact location?
I found Years of Priming in preferences. That had a default value of 5 years.
Posted: Sat Oct 13, 2007 2:58 am
by AFJ Garner
So I don't know how individual signals can be skipped. If this is the case, I see a greater issue. The system can skip signals unbeknownst to the user
Take a look at the results folders which you can access either with Windows Explorer or by usuing "File, Results" on the TB menu. Filtered Trades lists trades skipped for one reason or another, including scripting. Your user adjustable Global Settings might provide that trades should not be taken unless the market has a minimum volume of 1000 for instance and that you are not to trade more than 25% of this volume.
I have found that with a combination of the Results Folders, the Print Function and the de-bugger I can alwasy eventually puzzle out what any given system is doing and why.
As with any good tool, this complex piece of software takes much exploration and experimentation before its full value becomes apparent.
As to your questions on the rights or wrongs of waiting for a crossover, or indeed any other particular aspect of any particular system, you have the tool and it is up to you to make up your mind as to what is "right or wrong" and what suits your definition of such. And that decision can only be made with time and experience.
starting condition continued
Posted: Mon Oct 15, 2007 8:00 pm
by sjyi
AFJ:
Thanks for your feedback.
I now see that some trades are not taken because of the simulation parameters which could be actual account conditions such as " trade attempted but there was insufficient volume" or " trade attempted but there was insufficient equity ". In real life, I would have a finite fund within my account so I would not be able to take on all the good opportunities that comes along if my funds are all locked up in current positions.
If so, doesn't it only make more sense to let those opportunities go and wait for another "cross-over" rather than jumping into it later when the strategy timing is off?
If the entry/exit timing becomes essentially random due to these issues, why bother with "strategy"?
As far as your comment regarding a complex software system, I have been developing software in many industries for last three decades. In comparison with some of these previously delivered software systems, TB is not that complex.
I see many good things about TB, which is why I was about to entrust my fund with a trader who is to use TB for mechanized trading. Before I entrust my fund with the system, I wanted to verify it's operations.
So far I have not been positively impressed with the software implementation, even though I am highly impressed with CF's book.
Posted: Tue Oct 16, 2007 1:33 am
by AFJ Garner
You may want to take a look at the Global Parameter setting "Increment Test Start" and use this stepping facility to compare systems which do and do not require a crossover.
You might also like to ask the question "what do professional money managers do in a start up situation" - there is much discussion of that topic elsewhere on this board. The conclusion which most have come to, is that a new investor is buying into an equity curve and that a professional fund manager must meet a new investor's expectations by entering existing trades proportionately for the new investment at the time that investment is made. Rather than awaiting a fresh crossover.
There is much in trading which is as good as random - for all the spurious precision in mechanical trading and back testing. Start date, choice of portfolio, choice of system and parameters to name a few. There is a large element of luck as well as skill involved, in my view.
Whichever start-up method you choose, you might like to consider commencing your investment during a good sized drawdown. Although even then you may wish to flip a coin to judge whether the drawdown will increase or decrease from that point.
Even if you do not consider TB itself to be complex, I think you will agree that there are many complexities in systems trading and the decisions with which back testing presents you. Which are amply demonstrated using TB.
If I were you I would take a long, long time before coming to any hard and fast decisions. And as to using a systems assist broker (if that is what you intend to do) ask yourself whether you may not be better off ab initio in placing the trades yourself: it may prove a beneficial learning curve.
I think you need to think long and hard before using a broker to run your signals. Even if you find TB relatively simple I suspect that your broker's grasp of TB, CSI UA and the nuances of mechanical trading are likely to prove disappointingly shallow. Whatever claims he might make.
But then I'm probably just a pompous old bore with a tendency to need control over his life.