Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
If there is no way of replicating your Excel based selections in NinjaTrader, and if you have to enter the trades by paying the spread each time, have you given thought to temporarily modifying your NinjaTrader system in order to mitigate the slippage effects by :
having 1 (or perhaps 2) legs only instead of 3, and/or
sacrificing some precision and granularity afforded by the micros, and just trading e-mini's
All this, of course, subject to prior backtesting.
Funny that you mention that. I had just completed calculating the p/l of each leg when I saw your post. I did so by looking at Ninja's backtest instead of painstakingly going through each and every trade. I figured it was close enough. Isolated the results for the last 90 days per backtest:
Leg 1: 3831.50
Leg 2: 9001.00
Leg 3: 6350.50
So there may be some merit to cutting out leg 1, or perhaps Leg 1 and Leg 3. Maybe even doing just Leg2 and doubling up on it. I'd have top check the drawdown.
Not considering the minis for the Ninja trade just yet. I'd have to see a lot more before I'd feel comfortable putting it on auto pilot.
* Total is since June 1, since I started this journal in June and June 3 is when I switched to using the micros in the daytrade portion. Ninja total is from September 13 when I started trying to automate the day-trade portion
Non Day Trade: Lost more in equities. Done with them. A failed experiment. I never mind trying new things, but I am not so stubborn as to keep throwing away money day after day. It gets tiring. Lost another couple hundred today. Won't do anything more with equities until/unless I devise an approach that fits my personality and actually has a chance to make money.
Day Trade; One of the most aggravating days ever. Over the weekend I calculated the profit per day (using Ninja's backtest, not by manually going through my trades). 51% of the entire profit was made on Mondays. So with that in mind I decided to do 3 units today. And it worked immediately; rode the Russell train to better than +4600 by noon. I thought about lightening up, but I am trying to automate my trading to a degree, including no manual intervention, so I let it run. And as the Russell fell apart, so did my trade. I never cut anything, made no adjustments and stayed right to the end and walked away +517. Yep, 4100 dollars just frittered away. I don't think I'm cut out to be an automated trader.
Ninja: Par for the course here too. Completely different trade 1, both the buy and the sell. The 2nd and 3rd legs were the same as mine, but because Leg 1 was so different, the third ended up being a negation (which my code seems to have handled OK, so that's the good news). This trade was never better than +500, and ended up down 305 on the day.
An interesting thing happened yesterday. I thought my system had handled the negation correctly yesterday, but perhaps not. At 4:59:30 it got out of MYM, which of course since I was flat, really got me back in. Ninja immediately blew me out saying I wasn't margined, even though I had enough in the account to hold the positions. Not that I would have wanted to hold the position, but there should have been no need to force close. And they gave me a $50. fine. Nice, huh?
So I may be done with Ninja. It just doesn't seem reliable enough. Even if the error was in my code (and let's assume it was), it ignored my fail safe exit of 2760 seconds before the close (4:14 Eastern) and used the default 30 seconds for my Exit on Close setting. That gave me no time to react, and Ninja blew me out.
Which brings me to a question: What is the best way to automate a strategy with IB? I did several searches on this site yesterday and could not find anything. Which probably means I did a bad job searching because this question has to have been asked before. How can I write strategies for IB's TWS? I don't mind learning another language if necessary. I'm certainly not a C# whiz at this point anyway.
If this has been answered, could somebody kindly point me to the thread?
* Total is since June 1, since I started this journal in June and June 3 is when I switched to using the micros in the daytrade portion. Ninja total is from September 13 when I started trying to automate the day-trade portion
After posting the results from the Ninja backtest I realized that it wouldn't take all that long to compile the results from my actual trading since I have only been doing the Micros (and this journal) since June 3. And it would make an interesting comparison.
First my model. This is using the exact rules, assumes no slippage (but does include commissions and fees) and is for 1 unit every day:
A lot of the discrepancy is due to me trading 2 units lately, and yesterday (and today though those results are not yet included) 3 units. The rest is due to my manual intervention. I have actually underperformed on Monday, been equally relatively ineffective on Thursday, but outperformed on Tuesday, Wednesday and Friday. Sample size is small, but definitely something to watch.
My discipline scores lend another angle. My averages:
So it looks like I have done a decent job on Tuesday of staying in control, making adjustments, adding and subtracting, with good results. I have had good results on Wednesday but haven't been under control as much as I should have been and probably should expect some losses if that continues. Thursday I haven't done a good job staying disciplined, and haven't had very good results. By Friday I am back in control going into the weekend. It seems I need to be more accepting of taking losses mid-week and not make as many adjustments. Something to keep an eye on. Trading (for me) is a lot about managing the trader.
Day Trade: Another great start to this trade. Was up just over 2K (did 3 units) before noon, and then bam! started dropping - much quicker than yesterday, and all the way down to almost break even. Deja vu all over again? Was it going to fritter away 4100 dollars like yesterday? Nope it recovered and stayed between 1200-1800 for several hours. Just when I thought I might exit if it got back to 2K it took off in my favor. It was doing so well that I let it run several minutes past my usual exit time and exited with a profit of about 3640. A very nice day.
Ninja: No extraneous trades! Yay! It actually did the same trade today as I did. All 3 legs. No negations today. It of course got out on time and exited with a profit of 811 before fees and commissions. There was about 74 dollars of slippage today.
* Total is since June 1, since I started this journal in June and June 3 is when I switched to using the micros in the daytrade portion. Ninja total is from September 13 when I started trying to automate the day-trade portion
Day Trade Side: What a difference a timestamp makes. My first leg was long the Russell and obviously didn't work too well. When it came time to put on the 2nd leg, my IB price was 3 points(!) higher than the Ninja price for the same instant in time. In the couple months I've been playing with Ninja I've never seen a discrepancy of more than a tick or two. One point would have been very surprising to me. But 3? Wow! So, in IB I added to my long Russell while Ninja negated the first trade and went short Russell. I did get a great fill of course because in the time it took me to enter, the price had dropped quite a bit. Probably should have just skipped it. What's that old saying about not trusting positive slippage that you didn't earn? By the time the third leg came along I was down quite a bit. The third long did negate the Russells and went short. The trade finally started working nicely for me. My intent all along was to be out before 2 pm and the Fed announcement. So when the trade went positive for the first time all day, I quickly bailed. +150 for the day. Did 3 units.
Ninja: Ninja executed properly, but I did see the problem with negation arise again. I don't know why, but it "thinks" it has an extra short/long when it negates a previous leg. It really doesn't, so the trade seems correct, but then it tries to close out the phantom position at the end of the day, which leads to me getting back in inadvertently. And then Ninja blows me out and gives me a fine, even if I have enough to hold the position. So now that I know what it's doing, I am going to track down the why. If I can figure out why, I can probably fix the code. Fortunately I remembered to disable the strategy after I exited, so there will be no surprises. As for the trading, it did well. Negated trade 1 and shorted Russell with both trade 2 and trade 3. I manually exited just before the Fed announcement because I didn't want to be in after 2:00. Because I did the exits manually, slippage was only about 40 dollars today. Ninja was positive 841 before fees.