When creating a new thread, note which subforum you are in. Here is a short list of suggestions:
- Topic: Anything to do with an Elite indicator -> Subforum: The Elite Circle
- Topic: Looking for an existing indicator, or how-to use an indicator -> Subforum: (the platform)
- Topic: Programmer needing help with non-Elite indicator -> Subforum: (the platform) - Programming
- Topic: Want an indicator created/modified -> Reply to "Want indicator created free" in Elite Circle
- Topic: Vendors (trading rooms, commercial indicators) -> Subforum: Vendors/Product Reviews
- Topic: Discussion of Forex or Currency trading -> Subforum: Forex and Currency Trading
- Topic: Journals of your trading -> Subforum: Trading Journals or Elite Trading Journals
- Topic: General trading related discussions -> Subforum: Traders Hideout
- Topic: Discussion of a trading method -> Subforum: Traders Hideout
- Topic: Automated Trading -> Subforum: Elite Automated Trading
Last, any Elite Member may create more or less any of these topics in The Elite Circle at your own discretion (your support is appreciated).
This is just a short general list and doesn't cover everything. If you are unsure where to create your new thread, just create it in Traders Hideout and a moderator will move it if necessary.
Personally, I have never had much luck with programmers who weren't extremely talented AND also very experienced, knowledgable traders themselves. Hard combo to find but well worth the effort. A coder of that caliber can spot weaknesses in your system and also offer helpful improvement advice. If the system isn't overly complicated or subjective, some good coders will probably do it for free.
Your methodology needs to be very mechanical. You can't code gut feeling guesswork. I think you'll find that 99.9% of coded strategies just don't hold up...if they ever work at all...so be prepared. Hope you hit the jackpot with it so good luck and keep us posted.
On the other side, as a coder/trader, I found it is very hard to have good customer, who really know what he wants, is able to explain it clearly (in less than 20 emails), don't change his mind every two days, and wants to do something doable. I had some customers who wanted strategies which has to know the future (a bit hard to code ), who wants a strategy which just mimics another vendor strategy, with only a screen shot, ... I have few dozens of examples like this. Like the guy who has 50 parameters in his strategy, and, as he is not happy with the results, wants to "add another filter, but this is the last one". Another example is the customer who is happy after the first versions of his strat/indic, and just want a very small modification, then another, then is not happy with the result, or finally asks something impossible. At the end, in these cases, the coder spent a dozen of hours, for nothing...
I'm sure it's harder to find a good client than a good coder !!!
Success requires no deodorant! (Sun Tzu)
The following 6 users say Thank You to sam028 for this post:
Is it something you feel is proprietary and you don't want posted in a public forum? If so, then maybe you might need a coder that does that for a living.
If it's not, you could always start a post in a section, and I'm sure someone will lend a hand.
Had to chuckle at that one, Sam028 because it is so true. Traders will fool around and come up with an idea that looks like it performed pretty good on Mondays and Wednesdays of months that don't have a "Y" in them. So they find a coder like yourself and go back and forth on rules and infinite nuances and exceptions. You get coded into oblivion and, when completed, they are stunned that the system would have lost the farm every year since the Civil War.
Then, get set for round two as the "filters" start to roll in. Makes me glad I'm not a programmer.....LOL.
I have to say as someone that has done custom programming for customers for over 11 years, and in Ninjasript for 2 years, I do understand and have experienced just about everything you mention here, but have found ways to mitigate the risks/annoyances. The key for any project like this is to define success and manage expectations. Success does not equal "I code a strategy that allows you to retire in 2 years," rather, it is "did I implement what you asked for?" Often, they're not sure what they're asking for, so you help them figure it out, perhaps even for an "architectural" fee otherwise you go round and round with them until both of you are dizzy. If they change their mind or want something different, then it's a software change request and costs extra $. It's just like writing any other software.
The problem I think you are referring to is due to so much "free" code out there, or a site that sells an indicator for $49, it sets the expectation that they will only pay $49 for their custom coded request, or get it for free from a forum post request. And they might, but probably not.
After a while you can tell if it's going to be worth your while or not pretty early on and you walk away from the project/client if you don't think it'll be worth your time.
The following 2 users say Thank You to shodson for this post:
I beg to differ with your comment. I don't think your methodology needs to be VERY mechanical. It all depends on the basic premises at the base of your framework. Programming emotive decisions is not that complicated if you know a few basic concepts. We were doing this kind of programming back in 2000 using a very basic language named Lingo from Macromedia. I cooperated with a very creative person on coding such intelligent scripts to mimic the way we think. Some examples are located here:
Agree Roger...the only problem is that many customers I've had have a hard time accepting that their system has weaknesses. Generally those weaknesses are pretty easy to see from the outset without writing a single line of code. I can't tell you how many times I've had to break the news to them that they are cherry picking or whatever and they really don't believe me. For example, they want a simple moving average crossover to work and they just don't. If they get past the idea that their plan is flawed, then they ask what if we add another moving average or an oscillator or a kitchen sink or dog poop or ...
I have to admit, I write a lot of code for myself and I fall prey to that mentality as well.
That's extremely interesting, indeed. You are definitely unique. I've seen so many traders who develop a trading method that they believe is mechanical, but when faced with two identical signals in identical conditions, they do one thing one day and the opposite the next because they had a "gut feeling" that the market would go their way so they changed the rules just this one time. Or they add an indicator on the fly.
I'm absolutely astounded that you can duplicate that traders decisions precicely and that it's not that complicated. I could grasp that ability easily if there are rules and any trader following those rules would have the same result (allowing for slippage and differing commissions, of course). But when one trader out of the blue decides to use a 3 tick stop because he "thinks" that's going to be enough when he usually uses a more generous stop with better win potential, you can code those spur of the moment emotional decisions. I don't think I've ever even heard of any coder who's able to do that.
I'm not sure of the profitability value that a code would have that made Artificial Emotional random decisions, but it's sure fascinating that you've been able to do it. Can't imagine how but I'm definitely impressed.
@hcoffin1941 - I worked with a guy in vietnam who seems pretty good. He coded up some stuff for me - the one thing we mainly worked on was a semi-automated strategy and it works great, fit my requirements exactly.
It was somewhat simple - basically a strategy that provided buy and sell buttons to allow me to enter discretionarily and then use what is essentially a trailing stop based on the Supertrend indicator. Its a bit more complicated than that but he coded it all up for me and it was $300. PM if you're interested in more info.
I'd be curious to hear from the programmers on this thread whether or not that sounds like a reasonable price or not. Sorry if I'm stepping on toes - just trying to share my experience.
surly
Seek freedom and become captive of your desires. Seek discipline and find your liberty. - Frank Herbert
Like Sam028 it's kind of hard to judge without more details but it sounds reasonable to me. That's at the top end of what I normally charge for writing scripts.
The following user says Thank You to MWinfrey for this post:
I read the article you posted and it takes me back to my early and brief days of programming in Lisp. I found that effort very intriguing. Actually developed a target selection system for the military. Just had to mention that because it really is one of my greatest efforts. It was never used but it sure was fun developing and kept me out of trouble.
My efforts to develop trading systems is more procedural than OO and so far the one I have online is working very well. But I would like to learn more about how to code subjectivity into my systems. Do you have any specific trading examples of subjectivity and how that is expressed in your coding style? Also, do you have other references that I can study?
thanks to you both - next time I need something coded I'll contact one of you. It was fine working with the guy in Vietnam but there were communication issues and also difficult to work around the different timezones...
Seek freedom and become captive of your desires. Seek discipline and find your liberty. - Frank Herbert
It depends upon how you go about communicating your trading strategy to the programmer.
If you are a bit familiar with programming yourself and can do some basic stuff in it, then you can divide your trading strategy into different parts and get the separate works done by different programmers. And then combine them all for implementing it for yourself.
This way no single programmer will know the complete strategy and it will remain your secret.
There could be other ways also, to keep the REAL PART secret in a trading strategy.
In my case, as a coder, the strategy was always revealed. I had to sign non-disclosure agreement with the customer.
But without NDA, when you use to code dozens of strategies, you don't spend time in backtesting someone else ideas:
- the coder don't have too, he is only here to code,
- the best bots in the World is useless without knowing which instrument/bar type/bar length/the zillion of parameters, ...,
- the bot can be good, but not in line with your desired MAE/risk %/...
So it's really not a problem to reveal your holy grail .
Success requires no deodorant! (Sun Tzu)
The following 2 users say Thank You to sam028 for this post:
To be frank, I write code for customers because they PAY me NOT because it increases my chances of finding the holy grail. My job is to write what the customer wants because THEY believe it will help THEM trade better. Some potential customers try to persuade me to write indicators or strategies for free by saying I'll get something out of it too. I've written a lot of code for people and that hasn't happened yet. What I personally get out of it is more coding experience and money. I suspect that anyone who has written code for customers for any length of time has basically the same experience.
So, if you ask me to code for you I'm NOT interested in your trade secrets. I'm interested in producing the best product that I can for YOU.
Having said all that...I write some code for public use and I post it here on futures.io (formerly BMT). All that code was generated because I had a specific interest in it for some reason, coded it, and made it available via download.
The following 4 users say Thank You to MWinfrey for this post:
Not having a coding background, I have to plead ignorance...but still I have to wonder...
The news today says we're pulling out of Iraq by the end of the year. That should save us a lot of money and lives and the markets should go up...maybe. But then, Iran can very well swoop in and take over the lucrative oil felds in Iraq and further destabilize oil prices...the markets could go down...maybe. So, I have to make a subjective guess and invest long. But, then I think about it a bit more and go short. The markets start to go up and I subjectively decide I was right the first time and shift everything long again.
That is subjective reasoning...making decisions based mostly on my emotions, intuition and gut feeling. The common problem with subjectivity is that it is usually just comes down to guessing and no two people will ever guess the same way every time. What value would that be as a trading system if it tried to guess how every one else would guess?
Subjectivity isn't necessarily a bad word in trading. Subjective reasoning based on years (perhaps decades) of experience can be successful. But, how in the heck do you code years of experience? If you can't teach it to a human, how do you teach it to a computer through code? I'm familiar with AI, but the current level of technology still isn't capable of duplicating the vast complexity of the human mind.
Please pardon, I've always been a curious kinda guy and I do find the topic fascinating.
Thanks, well said. I would probably venture to say that, of all the coders in futures.io (formerly BMT) who have written for profit or for free, none of them have ever coded the Holy Grail. They may have coded some interesting and useful indicators, but that won't make a dime unless you know how and when to use them.
I can't imagine the complexity involved in a non-programmer trying to get several coders working on different pieces of a trading system and never having to collaborate. You'll end up with several pieces of the system code all neatly written but, unless you have some code skills, you're stuck unless you know how to put them all together and compile it and get it breathing. You can't ask a coder to do it or you'll blow the whole secrecy thing right out the window.
The first thing you'll discover is...there are BUGS!! Be a miracle if there weren't no matter how competent the programmers were. Now what? Are you talented enough to be able to identify the problem in the code and fix it? Do you call all your programmers and tell them the software isn't working right and they need to make something work that they can't even see? Of course, you can't hire a programmer to fix the problems (there'll be more than one) or you'll compromise the secrecy again. I much prefer NDA's.
I'd be a tuff way to go, especially when you consider that 99.999% of these projects end up in the Recycle Bin. The bright side is that they keep food on the table for a lot of talented coders. May they live long and prosper!
I come to coding strategies from completely opposite vision.
I never take paid projects. I'm not interested in making money this way. I want to make it by trading strategies.
This imply that I don't take all projects, but only if I think the other party is serious and understand the difference btw. discretionary & auto trading.
I think its very naive from someone to think that he has a Holy Grail strategy from the start.
I believe that each initial setup can be improved (not curve fitted) by more work of trail and error. That mean adding and removing restrictions, profit targets and stoplosses.
I worked with one trader who insisted on me signing a NDA. Apparently he bought a setup (written on paper) for a lot of money. That was enough for him to be certain that its a Holy Grail. I did sign the NDA and coded his method. You can guess the end.
Still I continue doing that for several reasons:
1. Two heads are better than one. (in auto trading, not in discretionary)
2. Some time even if the setup is useless (most of the time) and the other party disengage, I still have learned something new that I can incorporate in all my strategies.
The following user says Thank You to baruchs for this post:
Hey, congrats on your target selection system. I'd like to hear a bit more about that. Back in the 70's I met a guy who coded a program for the military that was a battle simulator. Soldiers could shoot at the "enemy" and they would fall down and "die" if they were hit. Used real video...not CG stuff we use today. Lots of work went into that but it was primitive by today's standards.
Subjectivity in system code is intresting indeed. I discussed it with my chief programmer and he replied, "Yes - computer programs can guess, and they can learn. But both are always based on rules - even if the rules include a random number generator. So their "intuition" is always rule based. We don't know if human intuition is rule-based or not.....I'm currently writing an indicator that "learns" how to predict the probability of a current bar closing bullish or bearish from the moment it begins to form that utilizes a fairly sophisticated form of intuitive rule based programming...."
Fascinating topic. I can see I've got a lot to learn on how subjective coding works.
@MWinfrey: I mostly agree with you here, but there are some subtle differences.
I am also coding, if somebody pays me to do so, but then there is a number of conditions required for me to accept the job.
(1) The project should make sense as judged by myself. I have had quite a number of ridiculous requests, which I had toturn down right away.
(2) Many traders think that they have discovered something very similar to the holy grail. By experience I know that the powerful indicator or strategy will not lead them straight to wonderland, but that the system will probably just break even or fail. If I take the order, I am no better than all the snake oil sellers around, the only difference being here that the customer brings in his own recipe and then asks me to manufacture that snake oil for him, individually tailored to match his immediate needs and beliefs.
(3) The best customers are profitable traders. They know exactly what they want and just want to develop or improve their trading tools in the sense that they replace an old gun from their grandfather with a new gun with an infrared scope. They will refuse revolvers or bows and arrows because their trading method requires a gun. This is a pleasure to code, because first of all, those guys are generally happy customers who love their new toys and use them to make money. And I do not have a bad conscience to bill them, because I know that they quickly make it back. As Mike also confirmed, I am not using those methods myself, because they do not match my personality. But I really enjoy the discussions and the learning experience. Most of these projects actually involved converting indicators or strategies from MetaTrader, TradeStation and CQG to NinjaTrader. For one customer I have even converted a large chunk of the FibonacciTrader to NinjaTrader.
(4) My coding skills are limited. This is true for everybody who is coding. So I can't accept something, which does not fall into my area of competence. My time is limited as well, I am sometimes running into trouble as I am not well planning ahead....
Now the most important. I am not a learned computer scientist. I am coding for fun. So if you come up with something that looks interesting, I simply cannot resist to play around with it. Or if you come up with something very close to an item on my own to-do-list, then I may code it for free.
Just out of interest - is that actually an area someone can make some decent money in? Not talking as ysomeone hoping to earn more than minimum wage from programming, but as someone aif 4 digit daily rates (USD) for doing programming work. If I look at the quotes here the rates scream "wannabe" or "junior developer" to me, not "experienced financial programmer" Jus wondering whether I overlook something.
Good point Trend. I already have code which I got from another platform and modified for my needs. It works fine on that platform, but I have to pay data feed costs there. Data feed costs anoy me. I want to use it on Ninja so I need someone to simply, I hope, enter it into ninjascript. Do not want to spend time on the ninjascript learning curve. It is a bar at the bottom of the screen that turns green or red as market goes up or down. Can you or someone else reading this thread help?