Gathering a team to develop an IO (decision tree/forest) in relation to trend strategies - page 5

 
Yuriy Asaulenko:
Why wither away? You have done it, use it.
Except that on the real market, Forts, say, widespread strategies stop working. And it is clear why. There is a proverb that money loves silence for a reason).

The fact is that there is often a breakthrough in one direction, an asymmetrical development in one direction, and the pooling of knowledge would improve the situation many times over.

Besides, it's not a question of a specific strategy to be laid out for a person, but a methodology for finding a solution.


P.S. It is a fact that Siska has gone crazy recently, but I think the reason is the withdrawal of foreign majors from the market - they stop working on strategies, chaos ensues ...

 
Yuriy Asaulenko:
Why should you get bored? You do it, use it.
Except that on the real market, Forts, say, widespread strategies stop working. And it is clear why. (It's not for nothing that the saying goes - money loves silence).

I would, check the degree of super efficiency of the market. You can sacrifice one or two working strategies for that. You just need to develop them first. )))

 
Aleksey Vyazmikin:

Yes, the point is that there is often a breakthrough in one direction, an asymmetrical development in one direction, and pooling knowledge would improve the situation many times over.

In addition, it is not a question of a specific strategy to be presented to a person, but a methodology for finding a solution.

If I'm not mistaken, you already know my methods. Pre-selection by indicators + NS as a teachable decision logic (classification).
Here I do not see anything here for collective work or reflection.
 
Aleksey Panfilov:

I would, check the degree of super efficiency of the market. One or two working strategies could be sacrificed for that. Just have to develop them first. )))

What is there to test? There are 10 futures and I want to buy them. Then 10 other people with the same strategy come, and the price goes up by 10 points. Everybody has already lost on average 5 points on entry.
 
Yuriy Asaulenko:
What is there to check? I have 10 futures and I want to buy them. Then 10 other people with the same strategy come and the price goes up by 10 points.

Or maybe it's the first one up that gets the job done. )))

If the purchase price is determined by strategy. And the rest are off the market, not bad either.

This version is confirmed by the speed fight.
 
Aleksey Panfilov:

Or maybe it's the first one up that gets the job done. )))

If the purchase price is determined by strategy. And the rest are off the market, not bad either.

What then is the point of collective creativity? Is it about changing strategy immediately in the hunt for slippers?
 
Yuriy Asaulenko:
What then is the essence of collective creativity? In that it is necessary to immediately change the strategy in the hunt for clogs?

Logically, for a super-efficient currency market, the price should look like an MA with a period of a couple of weeks due to the scale of the system, and only determined by the real dynamics of the issuing country. We see that this is not the case. So the nature of the market is determined by something else (for example: the need of the real currency issuers to squeeze "surpluses" or to ensure broad participation interest in shaping the market). Hence the volatility.

Cranky of course. :(

PS.

By the way, if you don't bother with five digits, and look in cents, the charts look like that.

 
Yuriy Asaulenko:
If I'm not mistaken, you already know my methods. Pre-selection by indicators + NS as a trainable decision logic (classification).
I don't see anything here for teamwork or reflection.

I don't know how you select the indicators, which settings of these indicators suit you, how you describe the price in relation to the indicators or do you use the increments of the indicators as predictors? In general, in every public coverage there are details that can be valuable in their own right.

I will briefly describe what I'm doing now with the decision tree, maybe it will interest some people:

1. I use the script to calculate the outcome of an event on every bar at the moment it is opened, the outcome is a profit or loss - this is the so-called target and I write the result to a file. The event may occur after 1 or more than 200 bars, after opening of the calculated position the trawl is immediately used.

2. Using the Expert Advisor (initially it was a script but later I decided to use the EA as it would be better if the same code generated data) I collect values of predictors on each bar and record them into a file. At the moment I have more than 120 predictors.

3. I merge the two files. The file appears to be quite large, more than 100 megabytes, because information is collected from minutes.

4. I give collected data to genetic algorithm in R for processing, script performs calculation by its method and tries to improve target search results.

5. I analyze the result, which looks like this:

Here I look at the information for each sheet, selecting those sheets where the prediction of 1/-1 is greater than 1/-1 by a factor of 1.5, and those where the prediction of zero is greater than 60%. Trying to analyse and understand the proposed decomposition. I would add that 1 is buying, -1 is selling and 0 is negative on buying or selling.

6. Writing down the selected leaves of the tree as a code, it partly looks like this

if(Test_P==51)if(Levl_High_H4s1<4.5 && Levl_first_H4<-0.5 && DonProc<8.5 && DonProcVisota<10 && DonProcVisota>=5.5 && DonProc<9.5 && DonProc>=7.5)BuyNow=true;
if(Test_P==52)if(Levl_Close_MN1<6.5 && DonProc>=8.5 && DonProcVisota<10 && DonProcVisota>=5.5 && DonProc<9.5 && DonProc>=7.5)BuyNow=true;
if(Test_P==53)if(Levl_Close_MN1>=6.5 && DonProc>=8.5 && DonProcVisota<10 && DonProcVisota>=5.5 && DonProc<9.5 && DonProc>=7.5)BuyNow=true;
if(Test_P==54){}//!--if(Use_Filter_MA_Prirost_>=-0.5 && DonProcVisota>10 && DonProcVisota>=5.5 && DonProc<9.5 && DonProc>=7.5)BuyNow=true;
if(Test_P==55)if(DonProcVisota<7.5 && DonProc>=9.5 && DonProc>=7.5)BuyNow=true;
if(Test_P==56)if(rLevl_Up_iD_RSI<-1.5 && DonProcVisota>=7.5 && DonProc>=9.5 && DonProc>=7.5)BuyNow=true;
if(Test_P==57)if(Povtor_Low_H1>=1.5 && Povtor_Type_D1<3.5 && rLevl_Up_iD_RSI>=-1.5 && DonProcVisota>=7.5 && DonProc>=9.5 && DonProc>=7.5)BuyNow=true;                                              
if(Test_P==58)if(Levl_Close_MN1>=-4.5 && Povtor_Low_H1<1.5 && Povtor_Type_D1<3.5 && rLevl_Up_iD_RSI>=-1.5 && DonProcVisota>=7.5 && DonProc>=9.5 && DonProc>=7.5)BuyNow=true;
if(Test_P==59)if(Levl_Close_MN1<-4.5 && Povtor_Low_H1<1.5 && Povtor_Type_D1<3.5 && rLevl_Up_iD_RSI>=-1.5 && DonProcVisota>=7.5 && DonProc>=9.5 && DonProc>=7.5)BuyNow=true;
if(Test_P==60)if(Povtor_Type_D1>=3.5 && rLevl_Up_iD_RSI>=-1.5 && DonProcVisota>=7.5 && DonProc>=9.5 && DonProc>=7.5)BuyNow=true;

7. Check outside the training period for each leaf in the strategy tester. I leave those leaves that show good results and have a sufficient number of trades. This is where the effect of good classification is seen, but the economic effect is weak.

8. I compose herbaria from selected leaves (almost random forests), give them the right to vote. Combining different trees and their leaves, I get roughly the following code

    SellNow=false;
    BuyNow=false;
    double CalcSell=0;
    double CalcBuy=0;
   if(Test_P!=11)if(DonProcVisota<8.5 && Levl_High_H4s1N<1.5 && DonProc<1.5)CalcSell=CalcSell+1; //--35/10
   if(Test_P!=13)if(Levl_Low_D1s1<-4.5 && DonProcVisota>=8.5 && DonProc>=1.5)CalcSell=CalcSell+1; //--51/20
   if(Test_P!=26)if(Levl_Support_MN1>=5.5 && Levl_High_H4s1N<6.5 && Levl_Low_D1>=-3.5 && Povtor_Low_H1>=-1.5 && Levl_High_H1s1N>=-7.5 && Levl_Low_D1s1>=-7.5 && Levl_Close_H1<1.5 && Part_H4<3.5 && TimeHG>=2.5 && Levl_Close_H1>=0)CalcSell=CalcSell+1;//46/13 -- 5

   if(Test_P!=3) if(Levl_Low_H4s1N<5.5 && Levl_Low_W1s1N>=-0.5 && DonProcVisota<3.5 && DonProc>=7.5)CalcBuy=CalcBuy+1; //--14/29
   if(Test_P!=15)if(Levl_Low_H4s1N<5.5 && Levl_Close_W1s1>=2.5 && DonProcVisota<3.5 && DonProc>=7.5)CalcBuy=CalcBuy+1; //--14/30
   if(Test_P!=42)if(Levl_Support_H1s1<-5.5 && LastBarPeresekD_Down<6.5 && Regressor_3D>=-1.5 && TimeHG<1.5 && DonProcVisota>=4.5 && DonProc>=2.5 && DonProc<7.5)CalcBuy=CalcBuy+1;
   if(Test_P!=53)if(Levl_Close_MN1>=6.5 && DonProc>=8.5 && DonProcVisota<10 && DonProcVisota>=5.5 && DonProc<9.5 && DonProc>=7.5)CalcBuy=CalcBuy+1;
   if(Test_P!=55)if(DonProcVisota<7.5 && DonProc>=9.5 && DonProc>=7.5)CalcBuy=CalcBuy+1;


if((CalcSell>0 || CalcBuy>0) && CalcSell/(3+0)>CalcBuy/(5+0) && CalcSell>0)SellNow=true;
if((CalcSell>0 || CalcBuy>0) && CalcSell/(3+0)<CalcBuy/(5+0) && CalcBuy>0)BuyNow=true;
   

if(Test_P!=80)if (Vektor_Don_M15==1 && Vektor_Don==-1 && LastBarPeresekD_Down_M15<5){SellNow=false;}
if(Test_P!=81)*/if (Vektor_Don_M15==-1 && Vektor_Don==1 && LastBarPeresekD_Up_M15<5){BuyNow=false;}
if(Test_P!=82)if (Vektor_Don==1  && LastBarPeresekD_Down>6 && LastBarPeresekD_Up>4){BuyNow=false;}
if(Test_P!=83)*/if (Vektor_Don==-1 && LastBarPeresekD_Up>6 && LastBarPeresekD_Down>4){SellNow=false;}
if(Test_P!=84)*/if (Levl_Close_H1>7 ||Levl_Close_H1<-7){BuyNow=false; SellNow=false;}
if(Test_P!=85)*/if (Levl_Close_H4>7 ||Levl_Close_H4<-7){BuyNow=false; SellNow=false;}
if(Test_P!=86)if (Levl_Close_D1>6  && TimeHG==1)BuyNow=false; 
if(Test_P!=87)if (Levl_Close_D1<-6 && TimeHG==1)SellNow=false; 

9. Then I see how it all works in symbiosis, and here I either split it into different groups or exclude something. Some leaves may stop working here because they make decision about entering the market always later than other leaves and here it may be reasonable to decompose such leaves to separate Expert Advisors. In general, this point needs further development.

Generally speaking, this is not a complex approach. I do not use random forests but separate leaves for the reason that it does not make sense to always be in the market and taking separate leaves we get more reliable statistical predictions for certain current market conditions, i.e. we limit prediction area and get voting effect by overlaying these areas from different trees. And if we take forests, we will try to classify everything, and consequently both good choices and bad ones will be taken, by hand I reduce the randomness.

Consequently, I think we should concentrate on finding these leaves. And for this I need to move along the vectors I suggested.


By the way, I'm planning to enumerate graphs (combinations) using GPU, if anyone can help with that, you are welcome.

 
Yuriy Asaulenko:
What, then, is the essence of collective creativity? Is it about changing the strategy in the slipper hunt straight away?

Are you really afraid of not having enough slippers? The point is to accelerate movement towards the goal. If there is a good result on the strategy and not just the MO method, then you can set up your own fund in a pool or whatever to solve problems, i.e. the project can already be self-sustaining.

 
Aleksey Vyazmikin:

Are you really afraid of not having enough slippers? The point is to accelerate movement towards the goal. If there is a good result from the strategy and not just the MO method, then you can set up your own fund in a pool or something else to solve problems, i.e. the project can be self-sustaining.

There may not be enough for Forts at a given price if there are even a few people working on one strategy.
I can't speak for forex, but I suspect something similar.
Reason: