Sharing experience – choosing optimal conditions/filers
Forums › ProRealTime English forum › ProOrder support › Sharing experience – choosing optimal conditions/filers
- This topic has 4 replies, 3 voices, and was last updated 3 years ago by
Khaled.
-
-
12/29/2021 at 11:52 AM #184085
Hello everyone!
May be I’m saying the obvious, just sharing my experience…
Sometimes, we keep adding conditions until we reach a point where we don’t exactly know which ones generate profit and which makes you miss good opportunities. Say, for the sake of the argument, you have 10 conditions (Close breakout, MA crossing, RSI, Stoch, Volume, ADX, ATR, etc.), but you want to know which ones generate profits and which ones make you miss good trades.
The way I found to approach this issue is to add to each of my condition (x factor) and simulate with the value of each factor varying between 0 and 1. So 10 conditions times 2 options, you run 20 tests and will find which conditions are most optimal and can therefore remove the rest. Screenshot below shows that the optimal case is to keep all the conditions.
Do you see another way to do it more efficiently?
1234MyRSI = RSI[14](close)CondLongRSI = MyRSI>30 and MyRSI>MyRSI[1]if not longonmarket and CondLongRSI*f1 and CondVol*f2 and CondADX*f3 etc,12/29/2021 at 12:30 PM #184090How about … assign a Flag (Flag1, Flag2 … etc) to each condition and then optimise the Flag numbers to see which Flag give the best performance. Then remove that Flag number and optimise the remaining Flag numbers (and therefore optimise conditions) and so on.
Or is my suggestion what you are saying in your post above? 🙂
1 user thanked author for this post.
12/29/2021 at 1:03 PM #18409212/29/2021 at 2:51 PM #184097So 10 conditions times 2 options, you run 20 tests and will find which conditions are most optimal and can therefore remove the rest.
Hi Khaled – I’m afraid that 10 conditions generate 2^10 (=1024) number of tests, not 10. Please notice that
Sometimes, we keep adding conditions until we reach a point where we don’t exactly know which ones generate profit
to me implies “stacked”. Or maybe I should say “that this is how I would add and add conditions”. Of course not all conditions combine, but generally mine do (as an additional filter).
So it is my estimate that it is a little bit more complicated because at least “several” of your 10 will combine. The remainder will not (and implies losses – so what) and does contribute to significantly longer backtest times, obviously.
On another note : such an application will be the best curve fitting application ever. At last that is what I think. 🙂
Otherwise it is just a good thing to incorporate all the possibilities into the one system, and switch things on and off by means of such switches. Of course it makes the program larger, but later you can always revisit a condition and see how it operates together with your newly found filter.
Anyway
if not longonmarket and CondLongRSI*f1 and CondVol*f2 and CondADX*f3
that is a nice and transparent way to do it. One thing : Later in practice you would need those variables to have a fixed value like
f1 = 1
f2 = 0
f3 = 1However, that won’t read well further down in the code. Thus my suggestion would be
fLongRSI = 1
fVol = 0
fADX = 1Downside of this : your BackTest Results form will be way more wide.
1 user thanked author for this post.
12/29/2021 at 3:08 PM #184098 -
AuthorPosts