Discussion of article "Neural Networks Made Easy" - page 7

 

Unfortunately, a neural network is not a panacea. In the sense that if you feed rubbish into its input, you will get rubbish at the output, no matter how much you train it and how many layers you do not make.

I call all the indicators built into the trading terminal and all the common methods of techanalysis, which try to predict its future on the past price behaviour.

That is why the correct selection of input signals is the basis of success when using NS in trading. Even the architecture of the NS is not as important as good input signals (you can throw stones at me:) ).


P.S. I would like to see an article about using reinforcement learning.

I am trying to move in this direction myself, so I need additional information from knowledgeable people.

 
Would be great if someone could made a pratical use of this article
 

Is there something wrong with with the backpropagation function?

im building a very simple expert using this library but the output layer always outputs the same values... im using only two output layers. 

//--- open
   m_Trade.SetExpertMagicNumber(symbol.magicnumber);
   
   BackPropagation(symbol);
   
   CArrayDouble *inputVals = new CArrayDouble();
   
   for(int i=0;i<inputNeurons;i++)inputVals.Add((iClose(symbol.name,PERIOD_CURRENT,i)-iClose(symbol.name,PERIOD_CURRENT,i+1))/iClose(symbol.name,PERIOD_CURRENT,i+1));
   
   symbol.Net.feedForward(inputVals);
   
   CArrayDouble *results = new CArrayDouble();
   
   symbol.Net.getResults(results);
   
   Print(results.At(0)," ",results.At(1));
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BackPropagation(CSymbol &symbol)
{
   
   CArrayDouble *targetVals = new CArrayDouble();
     
   if(iClose(symbol.name,PERIOD_CURRENT,0)-iClose(symbol.name,PERIOD_CURRENT,1) > 0)
   {
      targetVals.Add(1);targetVals.Add(0);
   }
   else
   {
      targetVals.Add(0);targetVals.Add(1);
   }
   
   symbol.Net.backProp(targetVals);
}


It would be great if someone could tell me if i'm missing a step in the process.

thanks.

[Deleted]  
Kept throwing memory leaks. I'm working on my own model rynna
[Deleted]  
Vitaliy davydov :

Unfortunately, the neural network is not a panacea. In the sense that if garbage is fed to its input, then garbage will be received at the output, no matter how many do not train it or how many layers do not.

And I call garbage all indicators built into the trading terminal, and all the common methods of technical analysis that try to predict its future on the past price behaviour.

Therefore, the correct selection of input input signals is the basis of success when using NS in trading. Even the architecture of the NS is not as important as good input signals (you can leave stones at me :)).


PS I would like to see an article about the use of reinforcement training.

I myself am trying to move in this direction, so I need additional information from knowledgeable people.

Me too. But I figured, the best way to understand and create my own reinforcement learning algorithm is bu first understanding how neural networks learn.

PS: I create custom indicators based on pure price action and read my calculation results from EA. A good way of using two threads.✔✔

[Deleted]  
Nelson Wanyama:
Kept throwing memory leaks. I'm working on my own model rynna

The model is ready. Please find the source and a simple working example from https://www.mql5.com/en/forum/338341/page4#comment_17770620

It is an ongoing project. You might want to visit the thread once in a while to get some amazing upgrades that are still under development.

The Ultimate AI EA Project
The Ultimate AI EA Project
  • 2020.07.14
  • www.mql5.com
Hello everyone. I would like to call upon every worthy programmer and trader to a crucial mission...
 
Dmitriy Gizlyk:

The 5 Why technique is built on sequential questions where each question answers the reason for the previous question. For example, we look at a chart and a rising price chart and and and construct questions (the questions are answered in the abstract to explain the technique):
1. Where to trade - Buy
2. Why buy? - Because it is a rising trend
3. Why a rising trend? - MA50 is rising
4. Why is the MA50 rising? - The average closing price of 50 candles with a shift of 1 is lower than the average closing price of the last 50 candles.

etc.
Since the questions are sequential and have a cause-and-effect relationship, we create layers to follow this relationship. If we use only 2 layers, the cause and effect relationship is lost, the neural network analyses a number of independent options and chooses the best one.

I'm reading this and thinking: this seems to make sense.

But it doesn't! I make a neural network with 1 layer, and it produces good results. I add a second layer, and the result is worse.

So the number of layers is not determined by logical reasoning, but by the result of work. You don't have the result of work, you haven't thought about whether it is a strategy, so it seems to you that it is something with something.

Also. Why do you think buying and selling are different neural network decisions? Buying and selling are the same decision to buy an asset. Otherwise, it's a complete nonsense. Are you going to feed negative values of the oscillator to the inputs to get the output less than zero, and positive values to get the output greater than zero? But actually, if the oscillator is below zero, it is an oversold zone, and you should buy, not sell.

In short, think about the result, and things will immediately go in a different direction. Poor, poor Rosenblat...

 
Evgeniy Scherbina:

I'm reading this and thinking: this seems to make sense.

But it doesn't! I make a neural network with 1 layer, and it produces good results. I add a second layer, and the result is worse.

So, the number of layers is determined not by logical reasoning, but by the result of work. You don't have the result of the work, you haven't thought about whether it is a strategy, so you think it is something with something.

Also. Why do you think buying and selling are different neural network decisions? Buying and selling are the same decision to buy an asset. Otherwise, it's a complete nonsense. Are you going to feed negative values of the oscillator to the inputs to get the output less than zero, and positive values to get the output greater than zero? But actually, if the oscillator is below zero, it is an oversold zone, and we should buy, not sell.

In short, think about the result, and things will immediately go in a different direction. Poor, poor Rosenblat...

Using 1 neuron you come to the autocorrelation function.
And talking about buying and selling, yes, in both cases it is only buying different assets. And the neural network makes a decision to buy one or another asset based on the analysis of the same data fed to the input. And the decision is made based on analysing the training sample. In the course of training, the weighting coefficients change, and its sign can change to the opposite sign.

 
Aleksey Mavrin:

method 5 is similar to a decision tree, also the area of search for a solution/cause is gradually narrowed down. Still, it is not clear how it is related to the fact that 4 layers are used in the NS in such a structure. I understand the structure would be tricky, e.g. the second layer is fed with summed output of the first layer and unchanged input signal, etc.

Can you tell me, have you relied on any other work that used such a basis for choosing the number of layers? Or is this your know-how?

s.s. The work is good, thanks.

Can you answer that?

 
Aleksey Mavrin:

Can you answer that?

Method 5-why given figuratively. The number of layers is often chosen experimentally. In the literature it is mentioned that networks with one hidden layer are used for problems in which objects can be divided into 2 parts linearly. Increasing the number of layers allows solving more complex problems.