I would assume that the programmers you contacted estimated their pricing on the time it would take them to finish your project.
Under the condition that you provided them with exactly the same specifications the difference can still have many causes, but let me give you two common ones.
Assume two programmers estimate the same amount of hours for a project, but charge a different rate per hour. Therefore their pricing will differ and it can be quite a lot depending on the difference.
The difference in price can also come from one of the programmers miscalculating the amount of work. An inexperienced programmer will usually tend to underestimate the time that goes into the project (at least in my opinion this is much more common than the other way around). So if their hourly rate is the same, this could lead to large differences, too.
There are many more reasons and therefore probably no one can tell you exactly with the information you provided. If I were you I'd ask the programmers and let them explain their pricing to you.
The following user says Thank You to ABCTG for this post:
This post has been selected as an answer to the original posters question
If you hiring a programmer i would suggest that you split the whole project into pieces with single payments after partly completion and verifying. Then you get a good insight if the project is running in time and budget. When there are growing problems you can change the programmer and you have already valuable source code in your pockets.
The following user says Thank You to Koepisch for this post:
There are a lot of possible reasons developers charge different prices
Some developers charge for their time and how long they think it will take them to build. Some can do things faster than others.
Developers may charge a priced based more on the value to the end customer, or at least what they perceive the value to the customer will be.
Sometimes a price may be lower because the developer just wants to "get in the door" with you as a potential long-term client. Or, they may want to get educated on those set of tools and get a semi-paid education on something they wanted to learn.
Developers live in less/more expensive parts of the world that require lower/higher levels of income. Sometimes I give a price for something and people balk "that's 2x the price of another guy in India/Eastern Europe" and I just say "Yeah, sorry". Living in Southern Taxifornia I can't afford to do it for less. The problem with taking a low-ball quote is that sometimes they low-ball it to get the project, but when the project is hot and heavy and requiring a lot more work than perhaps they wanted to chew off they stop answering your emails or phone calls.
It may also come down to different expectations on what the deliverable is.
What if there is a bug? Does that cost extra to fix it?
What about changes or tweaks? Does the price include some minor tweaks or am I going to get nickle and dimed for every little request?
Does the price include suggestions on how to make it better so I can be a more successful trader, kind of like a partner, or is the developer just doing what you tell him? In some cultures, programmers have a hard time programming anything outside of what they are told. It's not in their nature and wasn't part of their educational training. They grew up in command-and-control cultures, do what you are told, don't deviate (India, Pakistan, China)
Frankly, in most of my experience, the wild card of the project, as far as pricing goes, is trying to understand what it is they want, or helping them figure out what they want because often the customer hasn't thought out all of the details and possible scenarios that the indicator or strategy will encounter.
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 user says Thank You to Big Mike for this post:
unless it is very very complex, i tink you better learn to do it yourself. most software like ninja an sierra have templates and tutorial to help you out. from my experience, when you will backtest your very good idea, you will find that it is not that profitable. you will then require your programmer to tweak it forever. you don't need to be an expert, there is only a limited number of functions that you need to know, you can also reuse your code to test alternate ideas in a matter of minutes.
It's been an interesting thread, and I agree with the responses you've gotten. I'm a software programmer and have been programming for over 30 years. I can write C++, C# and Java and can't see given the same requirements anyone would charge a rate based on the language.
I wanted to throw this out, if you really have a winning trade strategy and can quantify your trading rules, you might be able to talk a programmier into doing it in trade for your strategy. But you should be able to trade your strategy profitably before you even consider automating it.
I am a programmer. I have programmed with both java and C# and although I havent written automated trading programs for people, I have written backoffice systems for the trading desks of large refined products traders and ethanol producers. My primary method of determining fees has been to first do an initial period of due diligence to determine the scope of the project and then I estimate the time it would take for me to complete the project and I multiply that by 1.5 and then I determine a a flat fee that I quote to my customer. So if I determine it would take me 100 hours to program something and I my rate is $100/hr, I would quote 100*100*1.5=$15,000.
If a programmer is proficient in multiple programming languages, the language choice makes no difference in the pricing criteria.
Also, although I am a big fan of java, I do not know of any trading platform that you can program an automated trading system using java. ICE used to have a java API but it has been retired in favor of FIX. FIX can be programmed using either java or C# and I am sure many other languages. I have programmed against the XTrader, CQG and Ninja APIs and all support C# but I dont think they support java. TradeStation has a psuedo language that is now migrating towards a C# like structure and as you already know SC supports C++. In short, java does not have much portability in this context so you should probably not consider it for your purposes.
I think this is absolutely right. Firstly, programming is a skill that the OP -- the original poster -- as an individual trader ought to acquire. Secondly, OP will get a much better idea what parts to contract out or seek help with, after becoming personally involved.