Good point - haven't updated this thread in a while...so here goes.
I've had reasonable results during the non-volatile times, but got stuffed around due to the huge volatility that happened recently in CJ - to the point where I changed my approach slightly, and so far it seems to be working better... I only do this on CJ M15 though.
I was running 480 bars in the market for a max 96 bars (24 hours), then changed it to 192 bars in market. But it was opening quite a few trades and with the volatility I had a few days of good profit, then a couple of fairly big losses. I'm trading this on a live account so I went back to the testing. I found a few things...
I re-tested from 480 bars out to 2880 bars (4 days to 30 days) which incorporated the volatile markets recently as well as the quieter times. My forward testing also used the same approach to see how long to keep the EA opening positions in market.
1440 bars (15 days) of history seemed to work better in both volatile and trending markets (slightly more history), and 384 bars (4 days) seemed to be the best length of time to let it open trades for - 74% of the last 40 days have resulted in profits when setting max trades to zero at 384 bars, trading a max of 0.01 lots with 10 open positions.
I'm also matching my live results to the forward-testing results, and they're pretty close - some minor slippage occurs in live - so I'm comfortable that the testing is correct.
So on a daily basis, on my live account, I generate strategies at 07:00 GMT, for CJ M15 using 1440 bars of data. I generate for 45 minutes, then push live and start it trading at 08:00 GMT every day. I leave it to open positions for a max of 384 bars (programmatically).
One of the most important things I found was the time of generating and pushing live. It has to be consistent. And 07:00 worked best (for me at least). If I left it an hour later, the results were very different.
1440 bars of history also seems to handle the volatility better. I generate on 0.1 lots, but trade purely 0.01 lots, with a fixed 150 SL (min/max) and a "may use" TP. I'll adjust my SL slightly based on ATR over the last 1440 bars - currently it's sitting around 110/115, so I'm just outside of the true range.
With the advent of a few new great features in Express Generator, I'm now able to re-validate previously generated collections as part of "todays" collection. I'll use the previous 5 days collections and check them using the same generating criteria:
;; Generator stop settings
max_working_minutes = 45
max_ascended_strategies = 50000
collection_capacity = 50
;; Acceptance criteria
min_win_loss_ratio = 1.0
max_drawdown_percent = 1
min_count_of_trades = 5
min_r_squared = 1.0
The min R-SQ of 1 was a late arrival - I found a few strategies that had weird r-sq values (negative) so I was using that to filter them out. I tried using R-SQ of 80 or 85 on generating, but didn't get great results.
I also ensure that I've got correlation turned on (0.98) for both balance line and similar strategies - that seems to have worked well. One thing I saw was that I was getting quite a few strategies in-market which were opening trades the same way at the same bar, which introduced far more risk. I believe it was because they were similar strategies. So the correlation settings have made that much better.
I also use the Monte Carlo testing in EG - but only loosely:
enable_monte_carlo = true
count_of_tests = 20
valid_tests_percent = 100
spread_max = 40
slippage_max = 5
mc_min_count_of_trades = 5
mc_max_drawdown_percent = 1
mc_min_r_squared = 1
mc_min_win_loss_ratio = 1
Only about 45% of strategies ascended are passing the MC test as well - which is good to know.
I was also letting the EA open up to 50 positions as my EA contains 50 strategies each time. However, I dropped it to 30, and now I'm down to 10 due to risk management - it has the potential to have open more than 40 positions at the same time (due to running 4 EAs opening positions for 384 bars and then letting them close naturally) and so I want to limit risk overall, which is tricky to do when you think of aggregate potential for loss. Although it is comforting that the past 40 days has seen much volatility and this approach has performed well overall.
Obviously this is still a work in progress, but it continues to show promising results, both on forward testing, and in market. The biggest thing for me was to manage risk better with this approach, which I think I've done now, so I'm happily letting it run on my live account and observing the results.
Attached is my settings file for reference. Obviously my settings will suit me, not everyone.
Post's attachmentscadjpy.ini 2.54 kb, 21 downloads since 2022-11-16
You don't have the permssions to download the attachments of this post.