I have been testing for 1 month (including 3 weeks of forward testing) a strategy I wrote in EasyLanguage for Crude Oil. I use MultiCharts with Open E Cry as the data feed and as my broker. The strategy averages over + $10,000 Net per day for 1 contract on 400 to 500 R.T.'s per day, figuring $4.20 average commission and $10 slippage per R.T.
So, I eagerly try it for real. In 1 hour (40 R.T.'s), it lost - $1300 Net. Reloading MC and looking at the strategy trades, it MADE + $500 in that 1 hour.
The problem was in the slippage (as much as 15 cents), or time lag (as much as 15 seconds) between when the signals were given and when the trades were actually made. I use 4-cent Range bars 2 months Out to get my signal, and 2-cent Range bars on the Current month to make the trades. I also use IntraBar Order Generation. All orders are Market orders, for when the price takes off a Limit order will miss the trade.
Has anyone else noticed huge slippage or time lag like this? I have cable broadband and a dual-quad computer with 8 mb of memory. So I don't think the problem is on my end. I would really like some input here, for the strategy seems so very promising. Thanks.
The following 3 users say Thank You to bobbakerr for this post:
I don't think its excessive, it think it's the reality for retail traders. IMO any strategy that nets 1-2 ticks per trade is not likely work in live trading unless you are directly connected at the exchange and don't have transactional costs. You can try a different platform and broker, but I believe you will achieve the same negative results.
The following 3 users say Thank You to vegasfoster for this post:
I agree with you on the 1-2 tick thing. But this doesn't go for 1-2 ticks. It goes signal to signal, which is usually 10 cents and more. Runs over 40 cents are common.
I talked to the president of Optimus Futures. He said (and talked me into opening an account with them) the problem I'm having would not occur with their Rithmic data feed. When my account is ready to go with them, I'll give it a try there.
So you're saying that just entering a Market Order causes me to get filled at these horrible prices?
The following user says Thank You to bobbakerr for this post:
TradeStation, I understand from their website explanation, "holds" stop (and maybe also limit) orders in a "stop server", and submits them when the price specified in the order is met at the exchange. That could/would prevent your order from reaching the exchange order book to timely/early establish your position in the queue when the bid/offer price is still a few ticks away from your expected execution price. I should expect that if the market is running, if my orders are submitted at the exchange before one level away from my price is "cleared", I will be filled at my expected price or at most one tick past. TradeStation's practice of using servers which wait too long could perhaps be preventing this from happening on many occasions.
In my back testing and optimizing, I include as parameters both a small offset in price from the price which exists when I place an order (order-time price plus or minus small offset) and a small delay from the signal time price until the time I issue the order.
I have found that one simple strategy, no matter how well back tested, always: works profitably sometimes, and sometimes not. The time intervals when the strategies work best and worst vary a lot (even hypothetically in testing) when I vary both the delay between signal time and order time, and offsets between order-time price, and the expected or better execution price (stop limit order price plus one tick, or limit order price plus one tick). I expect delays to vary between about one second, up to almost 15 minutes. (usually less than 10 seconds) I usually expect orders to be cancelled shortly after the expected delay periods. I also plan on three to five ticks max slippage and commission per round trip average, and hope for better.
I am very interested in learning if your orders at your new broker 'experience' significantly better latency patterns, in your view. I am these days wondering about latency issues with TradeStation; are they really significant? IMO, market orders should not be held in a server as TS says they do with stop orders, but I am not sure what they actually are doing with market orders!
The following 3 users say Thank You to Seberbach for this post:
Try replacing your Market orders with Limit orders @ the bid (short) or ask (long). The backtest performance should be near identical as oil during cash session rarely has a spread larger than 1 tick which the backtest wouldn't know about when using market orders.
If live you find a good number of trades are not getting filled, then you have part of your answer. You could look to host on a VPS to speed up your execution times (contact @sam028 for his VPS deal).
Due to time constraints, please do not PM me if your question can be resolved or answered on the forum.
Need help? 1) Stop changing things. No new indicators, charts, or methods. Be consistent with what is in front of you first. 2) Start a journal and post to it daily with the trades you made to show your strengths and weaknesses. 3) Set goals for yourself to reach daily. Make them about how you trade, not how much money you make. 4) Accept responsibility for your actions. Stop looking elsewhere to explain away poor performance. 5) Where to start as a trader? Watch this webinar and read this thread for hundreds of questions and answers. 6) Help using the forum? Watch this video to learn general tips on using the site.
If you want to support our community, become an Elite Member.
The following 5 users say Thank You to Big Mike for this post:
Thanks, Mike. I changed my rules to Buy at the InsideAsk +.01 and to SS at the InsideBid -.01. For some reason, that changed the Backtesting results dramatically, to only show + 1500 Net per day for the 1 contract. But if I can do that in Real Life, I will be very happy.
I need to do a test on trading only during Pit hours, vs. all 23 1/4 hours (plus Sundays). Right now, Sunday, after being open for 4 1/4 hours, the strategy is ahead + 553 Net on only 3 R.T.'s (a 4th is currently Open).
As far as 'hosting on a VPS', I have no idea what that even means (!).
Last edited by bobbakerr; May 29th, 2011 at 10:52 PM.
Reason: Typing mistake.
that just means that you can place/host your strategy on a virtual(non-physical) server near/close/in the exchange building that will thereby allow you to eliminate latency(placement on the order queue based on your signal) for all your trades.
The following 2 users say Thank You to sysot1t for this post:
I wasn't stating that strategies with targets of 1-2 ticks per trade would have difficulties, I was stating in my opinion strategies that net 1-2 ticks per trade would have difficulties in live trading. If you went from positive in backtests to negative in live trading then that seems intuitive to me based upon the figures you provided and I was simply responding to your specific inquiry as to whether a change in platform or broker would be sufficent to take you from negative to positive. In my opinion, it will not be. I was not trying to discourage in any other regard.
I think you should stick with multicharts, but once you change brokers, I would recommend running the strategy for 50 round trips using market orders and then 50 round trips using limit orders. Then run a backtest on the same periods of times. In that manner you can compare trade by trade how the live trades compare to the backtest results. First, validate whether live and backtest entered the same trades. If the strategy is entering live trades that it isn't entering during the backtest, then you have an issue. Second, quantify the slippage. Third, determine the percentage of limit orders that filled live vs. backtest. Consider how all of these results or any other issues identified affect the accuracy of your backtesting results and whether they can be relied upon or not. Expand the sample as necessary. This will give you a good idea where your issues are and how you should proceed. Good luck.
The following 3 users say Thank You to vegasfoster for this post: