Always market orders, in the initial phases of backtesting, as limit orders are slightly less accurate to real-world resuls, and there is a danger of being deluded. . I like to make the initial hurdles as difficult as possible, and only towards the end of strategy creation/refinement to I test things like limit orders.
It holds up well prior to 2009, though not quite as well, largely because I use a longer period in the initial phases, and towards the end I focus on only 2006 to present, then finally 2009 to present in the last stages, often with an element of time-weighting to boot. My theory is that if I can establish a wide and robust initial foundation of a very large number of trades with a sizeable 'edge' over normalized profit factor/sharpe/etc, then I can slowly test various changes, additions, detractions, to try to make it even stronger and more robust (a process which organically prunes trades).
One of the foremost aspects of this is making sure the changes I make not only improve the strategies results over the instrument I'm creating it for (GC, in the above case), but also instruments which highly correlate with the given instrument, within the given hours of trading. . in the above case, that might be Silver and Platinum, for example.
Seeing that any additional entry filters, or exit conditions, or anything else I may add to the strategy, also improves it for these other instruments, indicates that the underlying logic is slightly more likely to be something *real*, and not merely curve fitting brilliance-on-paper.
It would take me awhile to explain just how I calculate 'correlation' as its more than just correlative price movement, but the main point here is that solid underlying logic should perform well across many instruments and markets. . anything that doesn't should be viewed with extreme suspicion, and should be forced to jump much larger hurdles and pass more daunting litmus tests before you consider taking it live.
Lastly, every strategy I run currently is intraday, though some hold positions up to 400-500 minutes, and often I'll manually hold my positions overnight if I seem to see a reason to. . otherwise I rarely 'overrule' the algo's. . virtually never, unless I'm extremely convinced I've seen a recent and consistent pattern of price movement it may be missing.
Each of my trade is entered with market limit and not market order. I don't use trailing stop loss and each of the trades is entered with a fixed stoploss and takeprofit. I don't expect slippage each time. For example if my SL is $200, I expect to see losses of $200 say 90% of the time and not $212.5 each time. I am new with futures trading, are you guys observing one tick slippage each time?
Are the futures brokers also using asymmetrical slippage? If there is slippage on the losses side, there should be slippage toward our favorable trades. In the past, several FX brokers have been fined for slippage on the loss side but never on the gain side.
In @fiverr's defense the commission and slippage settings seem to be per side, so it would be $10 for a round turn. Which in my opinion would still be too low to reflect what the strategy would have to deal with real time.
I'd suggest to start more conservatively with your slippage assumptions and rather get the nice surprise that it's a bit better in reality, than underestimating this amount and spend your time with systems that will break real time due to that right away.
The following user says Thank You to ABCTG for this post:
There is slippage in the fixed stop loss as those are not limits but market orders. If you use a limit order stop loss you are playing a dangerous game as the market may not trade back through to fill your stop. The majority of your slip will come from the stop and it can be 1-3 ticks depending on how fast the market is moving and how fast your connection is.
For example, you still have a:
1. Delay in your data feed getting data to you
2. Delay in your trading platform in processing the data and generate signal
3. Delay in your platform sending order to broker
4. Delay in your broker sending to the market
All the while, a hundred algo's and pro's just got in and out 10x before you've even got past step 1 - and they all could be selling before you, especially at inflection points like the LOD. A big hitter can also drop 5k contracts and break 4 levels before your platform even knows its happened, dropping straight through your stop.
This can easily cause 1-2 tick slippage, with 1 tick being almost certain to happen quite often at key areas that break. You always need to cater for worse case scenario with slippage all the time. Your back test needs to survive the worst assumptions to even have a chance of surviving real ones. This is to cater for those times when you hit 2 ticks or more slippage in a very fast market. If you can only just scrape by, by making a few more favorable assumptions, it won't work.
Futures is not FX, there is only 1 market and whatever fill you get just depends on whoever gets there first.
You are not playing the same game, you would know all this if you've tried to trade the market before on a discretionary basis. As it stands, you have 0 chance of getting a data mined algo to work because you don't understand the basics of futures trading or the nuances of the ES, which is very complex. You can't just assume the same anything between FX and Futures.
Also I don't know what data you are using, but if you are using tick data with a tick based back test, it should simulate slippage and the real market better - though I doubt your data is granular as this since you don't have even have live data yet - another road block to making something work.
You're better off just spending sometime to sit through some sessions of the ES and do some reading.
In case you're wondering, I personally would not be happy with a system unless it has expectancy of over $50 with slippage accounted for. So even if for whatever reason I lose anther 2 ticks cause the world hates me, I still have $25 of expectancy left for the system to be profitable. My one has more than $50.
I also have one which does $400, slippage doesn't even register on this one's radar.
Last edited by PeakGrowth; December 29th, 2015 at 03:01 PM.
The following 2 users say Thank You to PeakGrowth for this post:
I am a bit confuse about the ES market. Some brokers told me that there are no spread and only commission per trade. But I know that some brokers have both spread and commission. Does anyone have live ES trading results that they are willing to share? I would like to formulate the correct specifications for my next revision of the code. Here are the information that I am interested in. Maybe we can use this as the benchmark/design specifications for everyone:
1) Should we or should we not hold a trade over night?
2) On your last 30 live trades of the ES, what is the total slippage did you experience? For example, if your stoploss is $200, you should have experience a loss of $6,000 ($200 x 30 = $6,000). Was your total loss more? Please share with us your real numbers that we can reference. Was it $6,500, $7,000 or $10,00?
3) Has anyone come across any literature that states that PF must be greater 1.5 to be profitable?
4) Has anyone experienced positive slippage?
I don't mind over designing my system to build more margin into it. It is good engineering practice. Unfortunately, we don't have the resources of NASA whereby we we can build in triple redundancy.
I finally got LIVE trading data from a friend who trades Emini S&P with a well-known broker and the numbers are shocking. I am surprised that this broker has not been sued for asymmetrical slippage practice. As I told you guys previously, my background is in currency trading; hence, I know all about asymmetrical slippage, see below.
For those that are interested in the numbers, here are my findings based on 168 trades (79 buy & 90 sell trades).
1) 82 trades match with TS backtesting
2) Only 7 trades have positive slippage: 6 trades with $12.50 and 1 trade at $25
3) 79 trades have negative slippage ranging from $12.5 to $275 and they costed him $3,925.
This is insane. It is so convenience for the losing trades to go against him; whereas, he did not benefit much from the positive slippage. Anyhow, I am not going to mention the broker name but this is crazy. My friend made some profit with his trading system but he should have made more.