Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 1074

 
Maxim Dmitrievsky:

For you, maybe you will beter understand it

Ok, I will try...but I will ask 100 different question on this code also and you should be ready to answer:))...

Because you should understand that it is completely your approach and also, you are trying to code in a different way which has no link to your previous code and hence, I have no way to understand it until I understand exactly what you are trying to do in this version..So it will take some more time to understand and then, I will try to create a bridge to GMDH..

 
Maxim Dmitrievsky:

we use genetic selection for gdmh

for this, we must first learn RDF with every feature separately, do you understand this? 

What do you mean by genetic selection of GDMH?

In my knowledge of GMDH, for every set of features or inputs, it will give one output as a summation of all inputs breaking into pieces of features. So if you give one feature you will get one output and even if you give 100 features still you will get one output ONLY as summation of broken pieces of all previous features and that's all is GMDH

1.If you give ONLY one feature as input it will give one output=feature1*weight1

or 

2.If you give one feature and all previous features(new feature or trained features from RDF), then it will just transform the current feature to new output=feature1*w1+feature2*w2+feature3*w3+....m components of base functions

SO here if you want to transform a new feature, then create an array to store the trained features from RDF and then, pass it to the "CalculateNeuron(ker,degree)" function.But you need to pass one more array element to this function.

 
Maxim Dmitrievsky:

can you just provide the scheme of your gmdh view? step by step

Give me sometime..I will provide you the complete source code of both GMDH library and the EA implemented using your previous code...I am just searching for it now:)))

 

Я тут все уровни ковыряю с помощью "МО" (те МО ищет уровни предполагаемого отскока), бывает сигналы получаются не плохие 

 


А бывает что система просто сходит с ума, по ходу в тренде

===================

Кто нибудь знает причину? как фильтровать? кто нибудь вообще таким занимался или я один в поле воин ?

 
Maxim Dmitrievsky:

we don't need to summarize predictors with '+', because we don't use linerar solver. Instead it, we just add new inputs, step by step, increasing features numbers and its combinations

getetic means that we work only with best predictors on every step of transformation, not with every predictor. So we select only n best on every step

No problem then, you just create a dynamic array and at every step pass those array elements as inputs to the function "Neuron function()", but you need to add one more input to this function.

I am using the inputs from the "Calsignal()" where you copy the close prices...So instead of that you just add the array elements on every step of RDF training completion and then, free the array.Did you get it?

I will paste the codes in my next post. Please copy and then, delete the post.

 
GMDH
 

GMDH EA:

 
Maxim Dmitrievsky:

we don't need to summarize predictors with '+', because we don't use linerar solver. Instead it, we just add new inputs, step by step, increasing features numbers and its combinations

getetic means that we work only with best predictors on every step of transformation, not with every predictor. So we select only n best on every step

Please copy the code and let me know...I will delete the code:

 
Maxim Dmitrievsky:


Yes, I get it...Did you copy the code?

Then, we will discuss...

 
Maxim Dmitrievsky :

yep, you can delete

Please read the first few lines in the comments section of the code and then go to the code section ... I hope you will understand ...

Next, what we need to change is to add one more more dynamic array where you learn the RDF and pass that to "CalculateNeuron (double a, int b)" function like:

CalculateNeuron ( double a, int b, double & best_features [])

Something like this:

Then, copy  best_features[] array to  inputs [] array by ArrayCopy()...

Rest should be simple:))) 

So based on the dynamic value of base function components the function will return the transformed features and retrain the RDF again and again call the function and so on.....