Optimisation range - page 5

 

As for the optimisation criterion?

I've just worked out an estimation factor for myself... It may come in handy...

After the optimization we get a sample of variants... All variants differ from each other, for example, by the number of deals on the optimized period...

The idea is to bring the total number of deals for all runs to the optimal number of deals according to Neutron's criterion, for example...

N(i) / N(op)

Let's multiply the obtained value by the corresponding expected payoff for the i-th run...

N(i) / N(op) * Expected payoff (i)

Thus, we will get profit at every run. This value can already be compared to other sampling variants...

Is there something missing in this formula? And how do you account for risks? Very simply...

Determine the value of the maximum possible drawdown and divide it by the maximum drawdown of the run...

This is the coefficient of the constant lot increase...

DropDown(max) / DropDown(i)

Final formula of the coefficient

K(op) = N(i) / N(op) * Expected payoff (i) * DropDown(max) / DropDown(i)

If N(op) = 1, then N(i) * Expected payoff (i) is the profit on the i-th run.... I think N(op) should be equal to the maximum value of the number of trades from the sample of runs after optimization...

 
kharko писал(а) >>

You argue that there is some optimal number of trades, depending on the number of fitting parameters...

Let's simplify the problem.... Let's leave a constant time interval...

Conclusion: the proposed method of optimization is utopia.

kharko , what you have got is not relevant to the problem in the formulation to which the answer was given above.

The central point is the statement about the existence of a hollow optimum on the number of transactions for the number of fitting parameters given ahead in the tester. It is shown that optimized exactly on a run of such length (and where the last transaction is docked to the current time), will give statistically the best optimization effect. Of course, this does not mean that entering the market you will become rich - perhaps a series of losses will occur and you will lose everything! But it means that doing so each time before entering the market, you will get the biggest profit possible.

The strategy is as follows: the Strategy Tester should have a virtual emulator of trades identical to the one on the basis of which the TS is created. This emulator keeps in its memory a trading history equal to the optimum one, and after each real trade it optimizes its parameters to maximize the virtual equity. Then the found parameters are sent to the real MTS and it enters the market. The operation with virtual optimization is repeated. Cycle.

ITeXPert wrote >>

One more remark regarding the number of trades: my Expert Advisor has such a parameter as the maximum number of orders and, if the parameters are selected correctly, the increase in the number of simultaneous deals performed by the Expert Advisor increases the profit made but, on the other hand, we have a non-optimal number of deals in relation to the number of input parameters of the EA, what to do with it?

ITeXPert, the results obtained are only true for working on a single instrument, and only one position may be open at any one time. How to generalise to the general case, we need to think.

kharko wrote >>

The idea is to generalize the number of deals for all runs, for example, to the optimal number of deals according to Neutron's criterion

N(i) / N(op)

Let's multiply the obtained value by the corresponding expected payoff for the i-th run...

N(i) / N(op) * Expected payoff (i)

Sophisticated mind!

kharko, I'm afraid that such a military trick may not work... And here's why. The point is that the tester's generalisation error is not based on Expected payoff, i.e. it does not consider the return as the parameter at the maximisation of which the estimate was derived. It is based on Bayesian classifier and normalisation of returns is not part of the task. Read the paragraph in the article above (p.56).

 
Neutron писал(а) >>

kharko , what you got has nothing to do with the problem in the formulation to which the answer was given above.

The central point is the statement about the existence of a hollow optimum on the number of transactions for the number of fitting parameters given ahead in the tester. It is shown that optimized exactly on a run of that length (and where the last transaction is docked to the current time), will give statistically the best optimization effect. Of course, this does not mean that entering the market you will become rich, it's possible that a series of losses will occur and you will lose everything! But this means that doing so each time before entering the market you will get the biggest profit possible.

The strategy is as follows: the Strategy Tester should have a virtual emulator of trades identical to the one on the basis of which the TS is created. This emulator keeps in its memory the trading history of the long equal to the optimum one, and after each real trade it optimizes its parameters to maximize the virtual equity. Then, the found parameters are sent to the real MTS and it enters the market. The operation with virtual optimization is repeated. The cycle.

kharko, I'm afraid that such a military trick may not work. and here's why. The point is that the tester generalization error is not based on Expected payoff, i.e. it does not consider the return as a parameter at minimization of which the estimate was obtained. It is based on Bayesian classifier and normalisation of returns is not part of the task. Read the paragraph in the article I posted above (p.56).

Explain what is the best statistical effect of optimization? How do you understand it?

I gave my understanding of best optimised variant above... Before you compare something and say this is better and this is worse, you must reduce the compared values to a common denominator... In this case, the common denominator is a generalized number of deals... The criterion is suggested in isolation from yours... Just a passing thought... )))

Let's take, for example, the recovery factor as the criterion for the best optimum option... Which option is preferable if the recovery factor is approximately equal, but the number of trades differs by an order of magnitude.

I'll choose the one with the higher number. Why? Because this variant shows better stability during optimization period... Variant with smaller number of deals is more prone to randomness... In other words, the variant with greater number of trades will need a longer series of failures than the variant with a smaller number of trades to significantly decrease the value of the recovery factor criterion in the future...

Haven't read the article yet...

 

I need to call Mathemat for help.

No one can explain what "statistically best effect" means better and more competently than him. But by definition I understand it this way: on sufficiently large series (n>100) different outcomes are possible for some process, in our case we consider the outcome of the next deal after optimization. So even though outcomes are different, we can find the most probable one (the search procedure is described in a textbook on matstatistics) and estimate a characteristic scatter for other variants. This, the most probable one, will be the maximum possible one in the tester according to this method of parameters optimization.

 
kharko >> :

As for the optimisation criterion?

I've just worked out an estimation factor for myself... It may come in handy...

After the optimization we get a sample of variants... All variants differ from each other, for example, by the number of deals on the optimized period...

The idea is to bring the total number of deals for all runs to the optimal number of deals according to Neutron's criterion, for example...

N(i) / N(op)

Let's multiply the obtained value by the corresponding expected payoff for the i-th run...

N(i) / N(op) * Expected payoff (i)

Thus, we will get profit at every run. This value can already be compared to other sampling variants...

Is there something missing in this formula? And how do you account for risks? Very simply...

Determine the value of the maximum possible drawdown and divide it by the maximum drawdown of the run...

This is the coefficient of the constant lot increase...

DropDown(max) / DropDown(i)

Final formula of the coefficient

K(op) = N(i) / N(op) * Expected payoff (i) * DropDown(max) / DropDown(i)

If N(op) = 1, then N(i) * Expected payoff (i) is the profit on the i-th run.... I think N(op) should be equal to the maximum value of the number of trades from the sample of runs after optimization...

there is a slightly different option...... let's start from the baseline - the balance curve should be constantly tending upwards (a priori).... the flatter it is, the better.... so (this is not news - it's been said somewhere here in numerous posts):

- do a fitting-optimisation over some period of a year or two or three.....

- use these parameters for 2-3-4 forwards of each half year, for example,

- negative ones we discard

- with the others - like with enemies: they do not fit into the algorithm (number of deals, profit, drawdown, etc. are not proportional) - we throw them away

- there are 1-2-3 versions of parameters left - we optimize them, we screw them up to the maximum )))).....

- choose the best one (the best 1-2) - set it for a demo - a month or two (it's my variant - when not pipsing, you will hardly get a sensible result, that can be estimated, within a shorter period) ...... and only after that trades

......

there is a question with overoptimisation period.......

If you say that it's routine - I agree, automation only partially obeys... Or I don't have enough "traction" )))).... that's what I said in the beginning - it's easy to write an Expert Advisor, with any algorithm for processing deals, but you need not just machine resources, but also a willingness to work with your hands and brains (which is more important) )))

 
rider писал(а) >>

What would you do if you dismissed all the options? CU to hell... But the TS works on some time interval with some parameters, and on the other with others...

Neutron's variant , to substitute after each trade the most optimal parameters, is ideal, but difficult to implement.

A simpler and easier to implement - for example, when a certain criterion is met (for example, the drawdown is greater than a critical value), we stop trading (new positions are not opened, and old ones are held by the Expert Advisor until they are closed) to make a new optimization, and then, start the EA with new parameters... This process can be automated...

 

There's an article about auto-optimisation here - 'Article 'Automated Optimisation of Trading Robots in Real Trading'

 
kharko >> :

What would you do if you dismissed all your options? CU to hell... But the TS works on some time interval with some parameters, and on the other with other parameters...

Neutron's variant , to substitute after each trade the most optimal parameters, is ideal, but difficult to implement.

A simpler and easier to implement - for example, when a certain criterion is met (for example, the drawdown is greater than a critical value), we stop trading (new positions are not opened, and old ones are held by the Expert Advisor until they are closed) to make a new optimization, and then, start the EA with new parameters... This process can be automated...

Fuck it :))))....... one thing you should take into account is that TS is optimized on each (acceptable to him, of course) time interval and instrument accordingly. Moreover, agree that the combination "Expert-TF-Instrument" is a completely different expert...... variations - "embrace the immensity" will turn out........

 
kharko >> :

A simpler and easier to implement - for example, when a certain criterion is met (for example, the drawdown is greater than a critical value), we stop trading (new positions are not opened, and old ones are held by EA until they are closed) to make a new optimization, and then start EA with new parameters... This process can be automated...

we're talking about optimization, not trading - right? ...... in trading, everyone has his own rules, and auto-optimization here is of little help...... dissuade me, please - I'd be only grateful)

 
rider писал(а) >>

We are talking about optimization, not about trading - right? ...... in trading we have our own rules, everyone has his own rules, and auto-optimization is of little help here...... please dissuade me - I would be only grateful)

Take profit, stop loss or trailing arm - almost every trader uses these methods in trading... Why not do the same for TS parameters? ....

Of course, you can sit back, wait out a drawdown, and then show your GRAILS... Hoping for the weather...