Don’t get me wrong, I am not selling any trading system here. Before I go into the main point, I am thinking of sharing some of my new findings of Tradestation.
I spent most of the past weekend reading some books in my trading library and playing with EasyLanguage programing on Tradestation. I was preparing the program for backtesting, and to my surprise, I was in fact, automating my dummy trading system. With the help of some functions in Tradestation, I am able to fire basket orders for execution automatically. Well, good findings, but, now it is not the time for me to utilize it. Anyway, It is useful to Asian trader like me, who trades in the middle of the night. I can always replace the order function with Alert, just to wake me up when opportunity appears.
Some thoughts from programming. As you might know, to code a piece of software, you need to have a defined program flow , logic, specific declarations, input, and return values etc. (I know some readers like ZBS, Eyal, and Richard are far more better than me when it comes to these IT stuffs, so please correct me if I sound funny) You can’t have something which is ambiguous. You gotta tell the program what it should do. I have no problem with coding, but I was stopped couple of times when programming my trading system. I have realized that I have been making too much assumptions and judgments when I was making dummy trades.
For example, “we want the price pull back to the area near 20-EMA”. Fine. How “near” is considered near? 1 tick, 2 ticks or 5 ticks away from 20-EMA? Another example, “We want to enter the trade above a narrow range bar”. Excellent idea. But how “narrow” is considered as narrow? One more example, “When the price is trending up, I would go long” , Cool. Hey, What do you mean by trend up?
Dave commented on my system before as “I see there are a lot of “play” in the system, In other words,there are a lot of guidelines, there are very few real rules.” I fully understand his point when I started programming.
Here are some suggestion to evaluate if you really have a set of real trading rules for your system. You don’t have to do the boring coding. Instead, I would suggest trying to write out Pseudocode of your system. For example, a simple moving average crossover system should look like something like this
If 5-EMA crosses above 20-EMA then
if High-Low <=1.5 points and (low-20-EMA)<=2 ticks then Buy next at high +1 Tick. Stop loss at low - 1 Tick end end (The code above is for illustration purpose, you will go burst trading that) Nothing so technical, but it is one of the ways to think through and stop cheating yourself by thinking you do have rules. Guidelines are just not enough. I have found it to be inefficient when I need to make too much judgment and guessing during trading session. I am not suggesting to have any magic values for narrow range candle or distance from EMA, but you need to be specific in defining your system. Just a quick note to share something which I find it to be useful, nothing fancy. I am still working on backtesting.