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)
Another sleepless night, so I wanted to jot down my thoughts before heading back to bed and trying to sleep.
It has often been said that a good trader can be thrust into a position at any random point in the market (any time, any price), and how he exits the trade is what matters most. After all, it only makes sense: the trade's final outcome is determined by where you exit.
With the advent of piersh's genetic optimizer I thought that maybe now is a good time to create this scenario and see what can come of it.
Concept: - Random entries: Each bar the strategy randomly selects if it should trade (yes/no) and if yes, should that trade be long or short. I think for sake of simplicity, all trades should occur at Market and close of bar. There is to be no extra logic in deciding where to enter -- for instance, no moving averages, no price action logic, etc. The entry is purely randomized except to perhaps limit based on certain hours of the day.
- Money management: The strategy needs to be programmed with some money management. Whether this via an ATM or not, I think it needs to employ at minimum the following: a) daily stop/target goal, b) maximum per trade loss. I think NT cannot backtest when using an ATM, so my vote would be to not use the ATM in the beginning so we can get some backtest results under us first.
- Logic: The strategy will be reacting to entries, trying to turn a random entry into a winner by simply following a set of predetermined rules and money management. The logic could be based on price action, it could be based on moving averages, etc.
Some questions that come to mind:
1. Should the strategy have the ability to close a position immediately after entry? For instance, if the logic says to only take longs if price is above the XX EMA, but the random entry had us taking a short instead, do we close immediately? Do we give it a bar or two and see what happens? This is part of the logic as well as part of the money management.
2. Should the strategy look at more than one time frame? My vote is a resounding yes: it can randomize entries based on a single time frame chart, but the rules/logic and money management should be able to review data from additional time frames to make decisions on when to exit the trade.
I had an idea, close to this, but on a smaller perimeter, only on position sizing.
My idea was a random entry, with only X0 contract, then scale-in/scale-out on specific levels, add Xn contracts after each specific levels (Fibo or MML for ex.), if the initial trade is not going in the right direction.
Manage a position size, how to scale-in/scale-out, anti-martingale and other stuff, ..., is, I think more important than indicators.
It might be interesting to show it !!!
Cool. What this really is (and perhaps a better thread title would be..) Lessons of Money Management. In other words, if your money management system stinks, this strategy will make it very clear. If you have a good money management system in place, then you should come out ahead -- even with a completely random entry.
In theory.
I'd like to hear from more people then maybe we can program this over the weekend and see where it lands us.
1. Get a feel for optimal trade parameters by randomizing some or all of the trade settings.
2. Time of entry: this should be any number from 1 through 380, the minutes of the trading session (minus 10 minutes).
3. To enter a fixed (non-random) value, put in the same number in ‘min’ and ‘max’.
For example, you want the trade to be taken at minute # 200 of the trading session. Each of ‘Time of Daily Entry Max’ and ‘Time of Daily Entry Min’ should be set to 200.
4. To enter a randomized value, type in the range from which you want the random value to be selected.
For example, you want the trade to be taken randomly within the first half hour of the session, type in ‘Time of Daily Entry Max’ = 30, and ‘Time of Daily Entry Min’ = 1.
5. Random long/short trigger. To randomize the long/short decision, select ‘true’ for each of the ‘TradeLong’ and ‘TradeShort’.
6. Note the parameters remain the same throughout one run (i.e., for each push of the ‘backtest’ button), they are not re-generated for each individual trade.
7. ‘One trade in X bars’. Use this only if you want to take a trade less frequently than once per day. Otherwise this should be kept at 0.
Thanks Peter, I had not seen that actually. I rarely visit that forum anymore.
I'll keep working on this as the randomized nature of entering the trades is easy, it's the money management that is tough and that is where our focus should be on this project.
I have done this exercise and was able to make it profitable but it required large drawdowns and a money management system which spans over 3000 lines of code.
Gotta love NT's order handling..
Heteroskedacity is important to understand for robust money management ; )
This weekend I'll try to put up a basic framework to get us started, but the real work that needs to be done is on the money management side, which is what I hope to take away from this project and apply to my real world trading.