Discussing the article: "Developing a multi-currency Expert Advisor (Part 2): Transition to virtual positions of trading strategies" - page 3
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
I can't resist noting here that 19% of profit for five years on the test was made with a constant lot in conditions of drawdown less than $1000, i.e. 1%. If we focus on the maximum drawdown of even 10% and use a variable lot, the results will look even more interesting.
You should show these interesting results. After all, according to the tester you have Profit Trades == 93.06%, which is an excellent percentage. There are only 5-10% of programmers with experience here and nobody will study your code except those who like to poke around in the guts of programs. For example, I am not interested in this at least because I am busy with my own project and strategy. In general, if I were you, I would run a strategy with more risky parameters but a vitally interesting profit. And I personally do not need five years of tests. The market situation is changing too fast, I remember the times when if EURUSD moved less than 300 p. on the 4-digit during the trading day, traders grumbled that the market was sleeping and sat on the fence. And now if 200 pips is hit a couple of times in a month, it is like a miracle. I apologise for some harshness, it's just that lately 95% of the articles are empty. I hope someday to release my non-fiction, then take revenge )).
I made refactoring by inputs. A few pieces of code for example.
Thanks a lot, looked at the code. Will look into passing input parameters later. If it doesn't work out to take this approach completely, some of the points are likely to be very useful.
You would show these interesting results. After all, according to the tester you have Profit Trades == 93.06%, which is an excellent percentage. But there are only 5-10% of programmers with experience and nobody will study your code except those who like to poke around in the guts of programs. For example, I am not interested in this at least because I am busy with my own project and strategy. In general, if I were you, I would run a strategy with more risky parameters but a vitally interesting profit. And I personally do not need five years of tests. The market situation is changing too fast, I remember the times when if EURUSD went less than 300 p. on the 4-digit trading day, traders grumbled that the market was asleep and sat on the fence. And now if 200 pips is hit a couple of times in a month, it is already like a miracle. I apologise for some harshness, it's just that lately 95% of the articles are empty. I hope someday to release my netlena, then take revenge ))
Alexey, with interest I will finish your article, the beginning of which you recently showed on the forum ). I think I will enjoy it much more than another article in the series about the fact that the field of neural networks includes a lot of things.
Until variable lot trading is implemented, it is more difficult to estimate the profitability/loss ratio from the test results, but it is still possible. Perhaps you are right, and in the next articles it makes sense to show the "interesting" chart at the end.
For now, here are the results of the Expert Advisor runs from this article with different position size multiplier, but constant throughout all five years with an initial deposit of $1000. In the article, the position sizes are calibrated for a deposit size of $10000, so let's reduce the initial depoPart_ value by about 10 times.
At the minimumdepoPart_ = 0.04 the Expert Advisor did not open real positions, because their volume when recalculated proportionally to the balance is less than 0.01. But starting from the next value of the multiplier depoPart_ = 0.06 market positions were already opened.
At the maximum depoPart_ = 0.4 we get a profit of about $22800. However, the drawdown shown here is the relative drawdown encountered during the entire run. But 10% of 23000 and 1000 are very different values. That's why one should look at the results of a single run for sure:
As you can see, the drawdown of $1167 was actually reached, which at the time of reaching it was only 9.99% of the current balance, but if the beginning of the testing period was just before this unpleasant moment, we would have lost the entire deposit. Therefore, this size of positions cannot be used.
Let's look at the results with depoPart_ = 0.2
Here the maximum drawdown did not exceed $494, i.e. about 50% of the initial deposit of $1000. Therefore, we can say that with this size of positions, even if we choose the beginning of the period during the five years under consideration as unsuccessfully as possible, there will be no loss of the entire deposit.
For 1 year (2022) the results will be as follows:
i.e. a profit of about 150% per year.
So the results look encouraging, but it is not without its own spoonful of tartar. For example, the results for the year 2023, which was not involved in the optimisation of parameters, are already significantly worse:
That is, of course we got 40% at the end of the year, but 8 out of 12 months there was no sustainable growth. I see this problem as the main one, and this series of articles will be devoted to different approaches to solving it.
I should have started with the results on the forward right away, then the article wouldn't have seemed more interesting than the NS articles :)
The idea of a basket of TCs is fully revealed by training, for example, a single RF type classifier, where each subclassifier already represents a separate TC.
That is, by material power - you build a regular strong classifier from several weak ones. This is done in a few lines in MO usually, the rest of the(main) effort is spent on then making it work on new data. Here is an example for understanding.
Another article shows how hard people used to live without MO and high-level YPs. How much work had to be done to hardcode some trivial idea. So like, subscribe :)Yes, I also used a similar approach when testing one of the Expert Advisors with aggressive settings - I made a conclusion when increasing the deposit up to a certain value. This helps to understand what profit can be obtained if you withdraw funds from the trading account, rather than constantly reinvesting them. If you are interested only in the achieved drawdown, then running in a tester with a variable autolot without withdrawals is usually enough.
How different, however, can be the perceptions of the same article.
Algorithm traders simply fall into two classes:
- Theorists, for whom the main thing is to dig into the guts of the code. They have a stable source of income, for example, they go to the office every day and get a salary. If they don't know how to program, they enjoy collecting stamps, candy wrappers, butterflies and in the evenings happily look at them through a fine-grained telescope :).
- Practitioners are in free flight. They don't sit in offices, they don't get salaries, that's why they are focused on financial results, not on getting aesthetic orgasm.
I would like to take this opportunity to express my gratitude for MT4Orders lib, it helps me when creating multiplatform EAs.
I should have started with the results on the forward right away, then the article wouldn't have seemed more interesting than the NS articles :)
The idea of a basket of TCs is fully revealed by training, for example, a single RF type classifier, where each subclassifier already represents a separate TC.
That is, by material power - you build a regular strong classifier from several weak ones. This is done in a few lines in MO usually, the rest of the(main) effort is spent on then making it work on new data. Here is an example for understanding.
Another article shows how hard people used to live without MO and high-level YPs. How much work had to be done to hardcode some trivial idea. So like, subscribe :)Of course :) But seriously, I took up the articles only after the first time I managed to achieveresults similar to the results during the optimisationperiod on the forward periodofat leastone year. For example, when optimisation was performed for the period strictly until 2023, the run for 2023 produced something like this:
This inspires some optimism, but it must be handled very carefully to avoid slipping into self-deception.
About building a strong classifier out of several weak ones - that is the main idea, that is the hope, that it will be possible to achieve useful results.