Testing while developing an app


I am interested in developing my own C2-compatible application in the intermediate future, so I downloaded and read the C2ATI document. First, let me congratulate C2 on providing an API and a very clear document on how to use it. I am, however, left with a few questions.

Most importantly, how to test the application as I am developing it. As any developer knows, building even a simple app can take months (at least for an individual developer), and many, many tests. For that, apparently I need to subscribe to a system which I will be unable to autotrade at the same time because signals cannot be sent to two concurrent applications. This would probably mean months of paying for a system just to test an application. I know there are free systems here at C2, but I’ve only seen two that are really free, the others are “free if autotraded at …”, which of course is of no use to someone developing their own app. Also, one would need to do a lot of tests in short amounts of time. Suppose I receive a signal and see that my app has handled it incorrectly. I check the code, find the error, correct it, and then I would have to wait what could very well be days for the next signal to occur, to see if it now works correctly. Never mind reporting fills and such, that could be even more sporadic.

Am I right? If so, then I want to stress the need for a “demo system” as I explained in a submission to the suggestion box. A system that sends random (but realistic and fillable) signals every half hour, or some other short amount of time. You could have separate demo systems for futures, forex, etc. They would send varied signals (limit, market, OCA, and so on), so as to be able to test thoroughly. Of course, they would all be completely free.

Many thanks in advance! :slight_smile:


I ran into that same issue. Only "fix" I could find is to create a bunch of dummy systems and use up the five free positions, kill the system, create a new one, use the positions, kill the system… repeat over and over. Took extra time but it worked. [LINKSYSTEM_33365603]

But since May (when this thread started) C2 has changed its policy. Now it allows you to create one system, pay one listing fee, and create a test system out of it (which is useful for software development). Then, when you are finished with development, you can convert the test system into a "live" (non-test) system.

Given this new ability to convert a test system into a live system, I much prefer software developers to pay a listing fee, just once, in order to create a test system on C2. Not to make too big a deal about it: but even test systems take resources from the site (CPU, bandwidth, customer support, etc.) and so your commitment to C2 will be much appreciated.


So if we create a test system and make a mistake, are we able to reset it and test some more until we are done, or do we need to pay another listing fee to reset it?


— Brad

Yeah, I ended up creating a test system for API testing too. I didn’t much like the idea of having to pay for that, but it’s a relatively small fee. I would’ve thought that publishing systems was free, since C2 is only as good as the number of systems it has (network effect). On the other hand, it’s probably good that there’s some kind of control so that we don’t end with 5 million dead or useless systems.

Yes, that’s the point of test systems. You can reset them as often as you like.