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)
@budfox what are you referring to a model, what will you be testing for? Please elaborate. Give an example of a fictitious model ( it can just be something you made up ).
R.I.P. Joseph Bach (Itchymoku), 1987-2018.
Please visit this thread for more information.
Can you help answer these questions from other members on NexusFi?
Can't you just do this manually to some extent just looking back through data and making a list? Is it really necessary to backtest years?n It might help save time if you're looking for a variety of different criteria based upon different settings etc. Depends how complicated I guess. Just take note that even if you do find a pattern that seems reasonable and you try to add a filter here and there, you're going to go down the rabbit hole. Sometimes it's hard to find your way out.
In any event I hope you enjoy programming, It makes the task easier. IF you don't enjoy it'll be very hard to stick to it. I went to college for programming and it was very hard for me to retain certain languages syntax and nuances if I didn't use them daily. So I suggest if you do learn a language to stick to it and not jump around until you've mastered it. Pick a platform and stick to it.
R.I.P. Joseph Bach (Itchymoku), 1987-2018.
Please visit this thread for more information.
I am glad to see you have written down your priorities. Honestly when ever I sit down to do anything especially trading development related i write down what I am focusing on. I think its a great way to organize yourself and get things accomplished. A lot of times you can run around in circles or get frustrated and feel like your going no where. But a list of priorities when you get to check something off the list feels so good. Sorry for the personal side note but i do feel its helpful.
Testing on any instrument Forex, equities, or futures does not really matter. Good system development principles, data management and statistical analysis are all the same. I would say options are much harder to develop on due to the multitude of strikes and expiration, but still the overall dynamics are mostly similar. Its also good to have a few base principles to guide your system development, so i am totally on board with the 2 criteria you have there.
I cant really comment on the TST combine but I can say making a system for it is like making a system with several guiding principles. Use their rules as your base criteria and it should get you started in the right direction. However the more rules and requirements the harder to develop as system and the more difficult it is to keep it robust without over fitting. Its just the rules of the game, for everything there is a cost. So find your own personal system goals and see where they tie in with the TST rules.
IMHO learning to code and back test to me is an invaluable tool. From being able to research and develop my own systems, completely automated trading, portfolio and risk management, as well as doing homework on the markets is all made easier or possible by being able to code. Not to mention the fact that it is more accurate than manually testing (we are all human) and usually gives larger sample sizes which helps for statistical accuracy. I know a lot of more manual/discretionary traders do not get as much out of it, or maybe do not have as much experience with it to see all of the benefits vs say difficulty of learning to do so.
There is also some cross over. When i was trading manually/discretionary I back tested every indicator and rule in my discretionary tool box. I also combined them together to see if the results were additive instead of canceling each other out. By doing that and seeing how all my tools worked I felt much more confident in what I was using and how i was using it rather than just taking conventional wisdom from books or the internet. My toolset could be reevaulated as markets changed so I could be dynamic as well and see what works when and what times i should avoid. Rather than something you get from a book or post that could have been written months or years ago.
I am not a professional or qualified to respond, but I would say that as long as you continue to make your own best efforts to find out what works for you and structure your expectations accordingly and in units of 6-12 months at a time, then you are on a sensible track.
I dont think anyone can actually help you with these priorities. It is great to have defined goals and work towards them so you are on the right track. TST or not, if you have an algorithmic model that works, you will be set. My definition of "works" is a forward tested model in real-time, validating each fill (entry and exit) for (this is subjective but) 3 months or 100 trades. Now, this means that you really need to give this time before you say "Eureka!". So drop any model that does not seem right at the beginning. Run several models in parallel during the forward testing phase. Record stuff. If you make changes then make them as early as possible. These are all tips to save time. Anticipate that out of 100 models you code, 1 will be worth it. But when you find that one, give it everything you got. And remember, backtests have flaws no matter which platform you use and they are not to be solely relied upon.
There are a bunch of websites with lots of tutorials that you can learn from. Try the following resources when you find time or are looking for help:
And for NT, you have plenty of help here. Just try and be as specific as possible when you ask questions. Generally, the more open ended a technical question, the less inclined people are to provide answers.
No idea about forex. But since you are going down the algorithmic path, and if I am not mistaken, you have a slight disadvantage with forex strategies since volume information isnt public but using ticks (trades) instead of volume (especially in thinner markets) is nearly the same as using volume. Not sure if any of your models will use volume, but if you do, this might help.
I had a little trading experience before switching to futures, discovering futures.io (formerly BMT)
Overall Forex goes by "pairs" usually Euro vs. USDollar, or various combinations.
They also can be traded in micro to mini lots. i.e. 1/10th or or even 1/100th of a regular futures contract if comparing
roughly. Sounds good , but the actual spread will most likely be at least 1pip , so not great for nickel or quarter traders trying to scalp micro-pips; unless one is ok with a higher time frame.
The general disadvantages of ForEx are "jumpy" spreads, frequent allegations and suspicions of all any brokers, maybe because ForEx is transacted through an "InterBank" i.e. bunch of big banks participating worldwide, rather than through a couple of primary exchanges that we have for futures i.e. CME and Nynex. There have been suspicions of brokers even actively trading against their customers, making the system speed slow etc. Maybe it's better now, but there were a lot of complaints in the past decade in "reviews".
The EUR/USD is closest to the futures 6E. I've noticed they are always off by a few ticks/pips at any time. (maybe because futures 6E is actually a leveraged instrument and not the "true" nominal cash value of the Euro, or whatever) i.e. 6J ~ USJ/USD, 6A ~ AUD/USD etc. So with futures you can already trade USD based futures versions of the forex pairs but not with the micro lot leverage i.e. limited to the futures contract size.
Just my layman's rough summary. (Forex people can point out accurate details and my mistakes)
And since you are learning C/C#, that will nicely segue into learning MQL, the "C"-like scripting language of MT4 (Metatrader 4) . MT4 is basically a free platform with each broker often having their own customized version, but their interface to trade manually is awful without addons. https://www.metatrader4.com/ And there is a whole giant "community" of forex traders using MT4. MT4 has built in backtesting etc. They have a much larger history and size of automated trading involvement than Ninja, but far more dubious ads and spam of literally thousands of EA's advertised and as expected, a consistently profitable EA is almost unheard of , or at least not lasting for long especially after exposure.
If you have TOS account, one can trade Forex manually there too, although commissions are usually higher, so it could be better for longer time frames. although TOS scalping and their DOM has steadily improved since TDAmeritrade is committed
to making the TOS platform work for their customers. Overall, Forex is the currencies market, so there is still the usual price action (without volume). According to news (and CNBC snippets I've seen) over the past recent years HFT had made bigger inroads to Forex after they saturated the ES. And certain world governments and banks often do their monetary policy fiddling with the currencies at time, so it can act crazy at times. Ok, good luck.