Machine learning in trading: theory, models, practice and algo-trading - page 2065

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
Assuming that there are no gaps in the history and all days of 1440 minutes (less on Friday), the code should be this:
Gaps occur even on eurusd. Work with bar time
That's understandable, if I did, that's what I would do. It's just to make it easier to explain.
Somehow, it seems to work) To save, a new row is collected in rates[i].high
Somehow, it seems to work) To save new row is collected in rates[i].high
You normalize the past bars, for example from 2020.5.1 00:00 by the bars from the future, c 2020.10.1 00:00 and those in between.
You cannot do that in the real world.
You have to make the same calculation for every bar, but only for the past bars.
Somehow, it seems to work) To save the new series is collected in rates[i].high
As a fetch we feed 60 candlesticks' heights with day offset, and teach these normalized heights obtained in your code.
The training should be accurate close to 100%.
I.e. normalized candlesticks heights do not bring any new information, if they are needed, the model will reproduce them inside itself and take them into account.
The only benefit is that there is no need to pass 60 extra features to model training.
It is unlikely that someone will submit as fiches bars 2 months old, ie new information for those who have not filed them, there is still).
If these normalized candlesticks heights improve the model efficiency, then of course it will be necessary to use it (or one of your features, which is more preferable, or the 60-th of which it consists of).
Weird. I wonder how this can be explained?
I have another version commented out, but I didn't like it for logical reasons:
Which RandomInteger() do you use? I'm XOR.
I don't know how to explain :)
I took this function
Maxim, I have a suspicion that the model for C++ is not correctly unloaded from CatBoost - can you compare it with the model for python?
The indicators of model interpretation in MQL5, where the values are taken from the CPP model, and the values from the binary model do not coincide. The delta is around 0.15 - which is a lot.
You normalize the past bars, for example from 2020.5.1 00:00 by the bars from the future, from 2020.10.1 00:00 and those in between.
You do not do that in the real world.
You have to make approximately the same calculation from each bar, but only from the past bars for it.
Yes, there is a looking into the future, as well as other problems that are not immediately obvious. It is not quite applicable for direct trading, but it is indispensable for preliminary analysis. For example the correlation between non-relative increments makes no sense.
Yes, there is a glimpse into the future, as well as other problems that are not immediately obvious. Directly, for direct trade it is not quite applicable, but for the preliminary analysis it is an indispensable thing. For example, it makes no sense to calculate the correlation between non-relative increments.
If anyone has checked it before, please let me know.
What is the preliminary analysis? You feed the model to the input and compare it with or without this feature.
It seems to me better to normalize the last 30 minutes.
As an alternative, the last 30 minutes of this day and the 5 previous days of 30 minutes.
According to the volatility change in March, your variant will take a long time to adapt, the current values will be much higher than they were a month or two ago. As a result, the model will work in an unknown zone. It simply will not have examples of such work on the basis of which to make forecasts.
With normalization over the last week, it will learn the new rules of the game faster.