Deadline June

There you go... 100 dollars per month. No wonder they don't have a page with pricing for data. They want to keep holding you by the balls and feed you data little by little, because they make more money that way. For live data and trading you already have IB so why are you keeping them? For back-testing you agreed that the only option is disktrading.com. So why are you still considering and paying all these bull**** providers, such as fxcm and Tenfore... so let's get to the point, with the essential things we need, to develop a profitable system. All you need is IB and disktrading.com. I have a talent for simplifying things and getting rid of all the bull****, and these providers are almost scamsters, so I'd say "knock off the 1200 dollars per year bull**** (Tenfore) and play the game.


The game is creating a good system. All these different data sets are distracting you and you're starting from the details. Building a system is like learning to shoot. What gun can you afford that shoots? Disktrading.com. So you have to learn how to shoot with that one gun, and focus on the target. You can't keep on changing guns continuously or you won't develop your aim (or what it's called). First you learn how to shoot with one: i.e. develop a working system from A to Z on disktrading.com data and use it on IB. Then, years from now, you work on the details and verify that the system is working perfectly in every detail. Otherwise you will be like all my engineer friends who are ten times more knowledgeable than me, but are still always talking about building a perfect system, and haven't built a single one. Especially considering you had your "June Deadline" and you're already trading with real money.

My boss always says we have to review and process our suspicious transaction reports properly. Yes, but if we only process 1000 per year and there's 1500 reports coming to us, things cannot be done that way and in fact we are falling behind constantly - and this is against the law as well, if not more. You first have to focus on processing 1500 reports per year, and doing them as well as you can. First you make sure you do the quantity you're required to do, and then you focus on the quality. Here, like my boss, you're focusing on the quality when we're beyond the deadline as far as quantity. The deadline was June, and we're giving our money away to scamsters, because we can't choose which is the right data to use. Once again, let's knock off the bull****. Fxcm, Tenfore: scamsters. Disktrading.com and IB: no bull**** and to the point.
 
Last edited:
''The game is creating a good system. All these different data sets are distracting you and you're starting from the details. Building a system is like learning to shoot. What gun can you afford that shoots? Disktrading.com. So you have to learn how to shoot with that one gun, and focus on the target. You can't keep on changing guns continuously or you won't develop your aim (or what it's called).''

-----------------------

Spot on.

R
 
No, the reason it costs so much is that you're getting their live feed and that's their main product. The historical data is just a small secondary product for them.

For backtesting, at least the way I operate, I can only see up until the end of the last quarter with Disktrading and if I want to see last week, then I need to get it from somewhere else.

IQ-Feed supply both FXCM (basic rate) and Tenfore (premium rate)

IB are actually more like scamster in this subject than IQ-Feed. They advertise the availability of historical data and then when you've signed up and you're running, you discover their historical data is strictly limited availability due to "pacing violations" that they use to block your access if you ask for more than they deem reasonable. Plus the historical data is not a true representation of the live feed, it is sampled so the tick stream isn't 100% observed.

And finally yes I know I'm like your engineering friends who build ivory towers and never trade, compared to you, but this data situation seriously dented my faith and resolution that I had built a system that would work. I don't have the luxury of doing a year's forward test to discover that. I want to know what the data is like that I'm using and how close it is to the live data and whether I can trust it. In my situation with my system, disktrading was producing results different enough to destroy my confidence in the closeness of the disktrading - IB live correlation.

Your analogy about guns reminds me of a story I heard about the Matabele warriors who fought the English army when they arrived in Matabeleland. The warriors had acquired some guns, because they weren't stupid - they knew they'd get slaughtered otherwise. But they didn't know about guns and their instructor told them to adjust the sights upwards if they were firing long range, and they believed that meant it gave the bullet more power. So they always adjusted their sights to aim long range. I feel a bit like them with disktrading. I know disktrading data can be good, but I'm currently using it wrong with the types of systems I'm developing.
 
Then in modest opinion, I'd say it's time to change the systems, and work on systems that use "up", "down", "close"... if we don't have time to work with a microscope, let's try to do something with a hammer. The equipment and time to build a high-frequency or very accurate system seems to be missing, and you said you don't have the luxury to wait one year, so time is running out. I think let's change the timeframe to a lower one (I'd recommend 15 minutes - you went from daily all the way to one-minute, I am not mistaken), and the concepts need to be simpler. Anyway, somehow I am sure you got my point, even though you seem to disagree. It's a powerful point: knocking off the bull****, like that movie says. Of course I am missing many other points, because of which I am still unprofitable. But I don't think, as far systems, I get lost into details, which i think is what's happening here. We need to bring your systems from tweezers to a hammer. We don't have the equipment and time to build a tweezers-system.

You're presently talking about 4 data providers and comparing with one another. That's something i would expect from someone who has already made millions from his systems and is bored and doesn't know what else to fix.

Oh, and IB costs zero dollars per month, whereas you're paying 100 dollars to those other scamsters. So you can't really compare them: one is free, the other one is not. These data providers are distracting you, sucking your blood. I can't believe you're still paying all of them.

Besides, the slightly different data between IB and disktrading.com is like a second test to verify you didn't overoptimize your systems. If they work on slightly different data, they are good. If they don't, it's almost like a certification that they are not. Don't you think? So I'd say use IB (which is free) and disktrading.com (which is practically free) and build a system that is profitable on both. I would not feel allowed to pay Tenfore 100 dollars a month unless my systems were producing 1000 dollars a month at least, every month. Cut expenses, simplify, knock off the bull****, build a system that works on slightly different IB/disktrading data.

I won't bother you anymore on this - but I am really convinced about this, as you see i usually don't insist on things. Look, it's like when I was using an Italian broker 6 years ago, that charged me 20 dollars per transaction on a CME future. It's not acceptable. You can't build anything on a situation like that. Just like you can't build a future on a data provider charging you 100 dollars for nothing of value. All these resources are sucking time and money from you. You need to reduce the concepts, the timeframe, the resources... you need to simplify. Ok, that's enough. No more harassment.
 
Last edited:
No, the reason it costs so much is that you're getting their live feed and that's their main product. The historical data is just a small secondary product for them.

For backtesting, at least the way I operate, I can only see up until the end of the last quarter with Disktrading and if I want to see last week, then I need to get it from somewhere else.

IQ-Feed supply both FXCM (basic rate) and Tenfore (premium rate)

IB are actually more like scamster in this subject than IQ-Feed. They advertise the availability of historical data and then when you've signed up and you're running, you discover their historical data is strictly limited availability due to "pacing violations" that they use to block your access if you ask for more than they deem reasonable. Plus the historical data is not a true representation of the live feed, it is sampled so the tick stream isn't 100% observed.

And finally yes I know I'm like your engineering friends who build ivory towers and never trade, compared to you, but this data situation seriously dented my faith and resolution that I had built a system that would work. I don't have the luxury of doing a year's forward test to discover that. I want to know what the data is like that I'm using and how close it is to the live data and whether I can trust it. In my situation with my system, disktrading was producing results different enough to destroy my confidence in the closeness of the disktrading - IB live correlation.

Your analogy about guns reminds me of a story I heard about the Matabele warriors who fought the English army when they arrived in Matabeleland. The warriors had acquired some guns, because they weren't stupid - they knew they'd get slaughtered otherwise. But they didn't know about guns and their instructor told them to adjust the sights upwards if they were firing long range, and they believed that meant it gave the bullet more power. So they always adjusted their sights to aim long range. I feel a bit like them with disktrading. I know disktrading data can be good, but I'm currently using it wrong with the types of systems I'm developing.

I glanced through the last few pages of this thread, so apologies if I missed a critical post that you made. But I really cant understand the problem?

With lower TF systems you have to use the same data for testing that you are going to trade from. Doing anything else does not make any sense to me? So if the reason why you are using all these third party data providers is that your brokers historical data is too small to test from, or likely to be inaccurate the answer is simple: Get a broker that has enough, good data that you can test from and trade from too...
 
Hi Ross

this is the one you missed:

The Four Horsemen of the Apocalypse just rode through my flat

Just for the record, I have 2 data feeds - IB and IQ-Feed, and one dataset of historical data from Disktrading.

The systems I am running at the moment in NinjaTrader 7 for whatever reason - probably NinjaTrader's bug - always try to suck out historical data when starting and that causes problems with IB, because their history data servers are so bad. Hence the second feed.

I can get varying amounts of data on tap from IQ-Feed from Barclays, Tenfore or FXCM just by configuring the symbol in NinjaTrader.

Now what I am going to do is go over all the potential areas of interest for new systems and try to work out which ones would be the least sensitive to High and Lows, as Travis says.

The Forex Correlator sounds good, if it's not much work to put the strength meter algorithm together.

Meanwhile I've got a couple of systems running in simulated, one based on the 3 Ducks on 4 pairs, one on pivots on 10 and they're based on results from Tenfore data.
 
Seen from here, after a superficial analysis of your four posts above, if you have 3 sources for your data (fxcm, tenfore and disktrading.com), and 2 of them match more than the other, I would immediately discard the one that is the furthest, so fxcm, if I am not mistaken. I would discard it and never look back.

I can't say more because I would be too superficial to speak with so little knowledge about your analysis. However that principle in my opinion holds true: 3 diverse sources of data, 2 almost match and one doesn't... I'd discard the one that doesn't and never look back. Then I would maybe get IB's data, and see which one is closest to IB, between disktrading.com and tenfore, and I would discard the furthest one. You would probably end up keeping disktrading.com, like me, for both reliability and very limited costs.

I also gather that we haven't been doing exactly the same type of tests. I've been doing tests of back-testing vs forward-testing, whereas you've been doing back-testing vs back-testing (on the same period by different data vendors). I know it's close, in that we both tested different data (even though I did different data on different platforms), but it's not exactly the same, because you still don't know if your execution will match your back-testing. Of course, the common and understood assumption is that we're testing the same exact period and system, no matter what platform or data we are using.

In my opinion as soon as you establish which data provider is feasible both in terms of quality and costs, you should do this next step: verify if your forward-tested trades (day by day, live, on IB TWS), match the same trades made in back-tested mode on NinjaTrader (I think that's what you are using for your back-tests).

Since your live trading is on IB data, if you could find a way to also back-test on IB data, that would be ideal. And you should have embraced it from the start, without even considering any other source of data. Of course, if you want as many as 10 years of data, that is not possible because IB only allows you to download the most recent period, probably up to a couple of years. My choice was disktrading.com and tradestation for back-testing and IB TWS and excel for live execution.

Of course this final test I recommended has some validity only because I have already gathered one year of forward-tested data, which you might not have done yet, because you've started trading the systems only recently (and maybe you haven't even started recording their live trades, in forward-tested mode).

As far as my own tests, I've only made one of 10 I want to make, but so far I can conclude that the trades match closely enough to continue things as I've been doing them, and that I am executing the same systems I back-tested. But thanks to these tests, I've corrected a minor problem which was causing bigger differences than I have now. On tradestation I was excluding trades taking place on friday, because they lasted longer than 24 hours, and I was confusing them with trades taking place on holidays (I cannot exclude those on tradestation correctly) or before data holes. Now i corrected the code and am including those trades made on friday night and closed on monday morning. However the results were matching before as they are now, because despite not counting those trades on friday the systems performed similarly. Yes, there were a lot less trades and I couldn't understand why.

Travis, how do you maintain your history of trades? NinjaTrader makes mincemeat out of the trade histories it builds (dumb beta versions) but I can probably download them from the IB website as Excel or .csv files.
 
I use excel, so I made a macro that writes every signal on an excel sheet, whether it's a real trade or not. Then I save, week by week, my 100 lines of weekly signals (one line per transaction, whether real or simulated):

Snap2.jpg
 
simulated trading results compared to backtested over same period

Trading period: last week 23rd Aug - 27th Aug.

I ran 14 systems in simulation last week on IB's paper trading account. That was fortunate since they would have lost $4,000 over 52 trades.

The backtest missed 10 trades that the simulation did and the simulation missed 3 that the backtest did.

While the simulation lost $4,000, the backtest only lost $800.

A lot of this can be put down to the GBP - USD 30mins pivot system which lost $1,247 in simulation but made $500 in backtest.

The yen crosses were really bad in matching up, the €-Yen made 600 more in backtesting than simulation, and the £-Yen made 500 more.

Generally speaking the systems traded more in simulation than in backtesting and the profitable systems in simulation were more profitable and the losing systems more unprofitable. Apart from the GBP. It's not really convincing though.
 
IB and other forex feeds

I was day trading the Euro-USD and a bad tick came in, so I have to refresh the data. I have set up NinjaTrader charts to pull the historical data from IQ-Feed which is a lot quicker than IB's historical data servers.

This is a "before and after" type shot. The first is the chart as built up from IB's live forex feed, the second is the chart using historical data supplied from IQ-Feed.
 

Attachments

  • $EURUSD (1 Min)  01_09_2010 IB.jpg
    $EURUSD (1 Min) 01_09_2010 IB.jpg
    52.5 KB · Views: 141
  • $EURUSD (1 Min)  01_09_2010 10-4.jpg
    $EURUSD (1 Min) 01_09_2010 10-4.jpg
    68.1 KB · Views: 171
another comparison

These charts demonstrate an issue with forex and currency trading that is becoming clearer to me now - it's essentially a camel market compared to the currency futures.

The IB live feed on the left is composed of data from a dozen banks but is sampled by IB or compressed or put through some sort of algorithm, for reasons unknown.

The chart on the right is Tenfore which is composed of data from thirty different banks. This is not filtered or compressed or sampled. There are even different symbols for each bank so I could choose which ever bank I wanted to chart data for.

But it's pretty obvious, the Tenfore composite signal is not something that is remotely like anything you could trade against. True there are a hell of a lot more ticks but they don't represent a single market, they represent 30 different markets. Since I don't have a broker to take my trades on those prices I guess I'll never know. Also there may well be time delays on some of the feeds causing the bars to overlap a lot more, e.g. at 15:20.

In fact, if I started looking at the individual symbols instead of the composite from Tenfore, I bet I could find arbitrage opportunities - if I knew it wasn't just caused by network delays.

I have unsubscribed from the Tenfore data, and I'm sticking with FXCM unless IB radically increase the download times for past data from their servers.
 

Attachments

  • $EURUSD (1 Min)  01_09_2010 IB.jpg
    $EURUSD (1 Min) 01_09_2010 IB.jpg
    84.8 KB · Views: 164
  • $EURUSD (1 Min)  01_09_2010 10-4.jpg
    $EURUSD (1 Min) 01_09_2010 10-4.jpg
    79 KB · Views: 165
Portfolio Selection

When I look at my trading account and see the negative performance on a lot of these currency pairs for the different systems I'm running as NinjaTrader strategies, I get this really strong urge to go through the systems and turn some of them off.

This cherry picking though is just another form of curve-fitting, albeit at the portfoio level rather than the backtesting level.

See this link:

The cherry-picked optimized portfolio trap

So I'm using the 3 Ducks for instance, and a pivot-based swing trading system, and I'm trading them on 10 pairs. I've got a couple more in the oven but they're not ready yet, plus a load of ideas that will take me ages to get programmed.

I should be concentrating on programming more but instead I'm eyeing my profit and loss and wondering which ones I should turn off.

It's true that the different pairs all have their own characteristics and I'm starting to be able to look at a chart and to know what pair it is - or at least what group of pairs it comes from.

Now if I could write programs that can benefit from what I see, then I'd know I'd made it as a trader.

But at the moment the most I can do is to optimise the parameters for the different pairs. There's no point trying to trade the GBP/USD with the same parameter for MA or ATR as the Yen.

That's not to say that I'm going to stick rigidly to this idea as some sort of dogma - I've had a couple of systems that only ever worked on one pair, and trying to get them to work on any other pair was fruitless. But I think if a system works on 3 or 4 pairs, then it should work on all pairs. At least across all ten pairs, the system should show a profit, even if I have to allow it to have one, max 2, bad markets - which I still include, unless the equity curve on the pair looks like a stairway to hell. Then that's a problem.
 
Weird but good

I have around 5 automated systems running in NinjaTrader simulation at the moment, some on 10 pairs, some on only a couple of pairs.

But they're in simulation as a result of the data issues that cropped up after I started backtesting with FXCM data, as outlined above.

I was trading 2 of them live and I had 3 more systems in simulation which I have now abandoned. The backtest results using different historical datasets were too far apart.

What I saw on the 3 that I abandoned was profitable backtesting on DTC (disktrading) data, then mixed results on FXCM and losses in backtesting and simulation using pure IB data.

Now though I just started rewriting the 3Ducks system, testing on IB historical data. Perhaps predictably it just shows losses in backtesting on DTC.

My main aim still remains to write systems that work on both.

I'll have to do a really mundane order by order analysis of the two sets of backtest results to see why they're different and perhaps that will teach me something.

So I'm now itching to put that 3Ducks system onto the live account, especially since it netted a grand today. Who says that automation takes the emotion out of trading?
 
I'm slowly getting a hang of this. I just created a system that performs OK on IB data ($40 per trade) but performs even better on FXCM and DTC data.

At $40 per trade in backtesting, I can take a $10/trade hit on performance in real-time and still make money with it. Let's see how it performs in simulation.
 
Adam.. just to let you know that I've been running a robot from Amibroker for the last week or so. I originally started off using streaming data from IB, but found it to be unreliable and as for that "backfill" nonsense, eek! It caused Amibroker to crash on a couple of occasions. I've since switched to eSignal, which is $100 a month for FX data, and so far (touch wood) it's been fairly faultless.

Do you have any idea where I can source tick data in FX going back a few years? There are vendors on the web but quality data like this is super-expensive. eSignal data is good, but only goes back 6 months (or even less).
 
Hi MR

I was wondering how it was going. IB live data should be alright. Was the reliability issue? Connections dropping?

I too don't rely on IB historical data either - mainly because I couldn't download the stupid stuff in NinjaTrader, which is an issue that's still unresolved. (IB and NinjaTrader both refuse to accept it could be their product causing the problem*).

Does it have to be tickdata you require? The only cheap source I found was Disktrading.com but the problem is forex. Disktrading tickdata is different enough from IB data to make surprisingly large differences to your backtesting results. This is what I've been complaining about so much over the last month on this journal.

I don't' know what it's like with futures but I'd guess that the centralized exchange can always give you the definitive tick data - something that's impossible in forex. Ideally you want to backtest on data that you captured from the live stream from your broker which you can trade against.


* just for the record: Connectivity Problems and Yesterday's data all adjusted downwards
 
Last edited:
I meant to say, you should be able to achieve a lot with one minute bar data and I bet eSignal provide several years of that.

Do you use eSignal as your broker too?
 
Top