Neural network in the form of a script

 

Ladies and gentlemen !


I found a neural network algorithm on the internet .

I decided to check it out.


I made the script for terminal . I ran it on and it worked.

To make sure is correct - I made a visualization of the learning process.

made visible .

Well , and not to work gather dust on the shelf - post on the forum.

I think the code from the script to put in an indicator or Expert Advisor is a matter of technique.

You may try it and try your imagination.






The script runs on any chart on any timeframe.

Files:
 

Thank you!

 

Very useful little thing! Thank you!

 
Something about the logic of this script resembles a simple 4in2 scrambler
 
kombat:
Something about the logic of this script is reminiscent of a simple 4in2 scrambler

the gizmo is interesting of course!


but what the net has been trained on is what it is guaranteed to show on!


Now try to feed her inputs with things she has not seen during training!

She's going crazy!




test_pat[0] = 1 ;
test_pat[1] = 1 ;
test_pat[2] = 0 ;
test_pat[3] = 0 ;
test_the_network() ;
Print(MathRound( ol_a[0]), " 1100 ", MathRound(ol_a[1]) ) ;

She answers 1 0

although logically it should answer 1 1

---

The correct network will do exactly that - it will answer 1 1 even though it has not seen any such data in the class!



try to teach the network the following example


OUTPUT = INPUT

30.00 = 100.00
27.50 = 87.50
25.00 = 75.00
20.00 = 50.00
15.00 = 25.00
13.75 = 18.75
12.50 = 12.5
11.25 = 6.25
10.00 = 0.00

and then give it an input of, say, 62.5 should produce an output of 22.50.


MUST = INPUT

22.50 - 62.5

this is a simple example of scaling that networks handle like peanuts without a peel

 

How do you make it predict the price?

 
YuraZ:
kombat:
Something about the logic of this script is reminiscent of a simple 4v2 scrambler

the gizmo is interesting of course!


but what the net has been trained on is what it is guaranteed to show on!


Now try to feed her inputs with things she has not seen during training!

She's going crazy!




test_pat[0] = 1 ;
test_pat[1] = 1 ;
test_pat[2] = 0 ;
test_pat[3] = 0 ;
test_the_network() ;
Print(MathRound( ol_a[0]), " 1100 ", MathRound(ol_a[1]) ) ;

She answers 1 0

although logically she should answer 1 1

---

The correct network will do exactly that - it will answer 1 1 even though it has not seen any such data during the learning process!



try to teach the network the following example


OUTPUT = INPUT

30.00 = 100.00
27.50 = 87.50
25.00 = 75.00
20.00 = 50.00
15.00 = 25.00
13.75 = 18.75
12.50 = 12.5
11.25 = 6.25
10.00 = 0.00

and then give it an input of, say, 62.5 should produce an output of 22.50.


MUST = INPUT

22.50 - 62.5

this is a simple example of scaling that networks handle like peanuts without a peel



There is no normalisation inside this algorithm. In order for this algorithm to work correctly, it is necessary to

to supply input and output values already normalised between 0 and 1 .

 


Another example

Files:
 
Files:
 

1. First you need to normalise both the input and the output, i.e. put it in the range 0 - 1

(or network code has to be recompiled to fit the new data range)

2. This network has 4 inputs and 2 outputs .

Which numbers from these columns should be fed to which input ?


According to algorithm

the network puts each quadruple of the Input values 1 0 0 0

sets a pair of Output data 1 0


There can be several such datasets, e.g. 4 .

And you have to feed them according to the network algorithm

input _output


1 0 0 0_ 0 0

1 0 0 1_ 1 0

1 0 1 0_ 0 1

1 0 1 1_ 1 1


or as follows, if 4 inputs and 3 outputs


1 0 0 0_ 1 1 1

1 1 0 0_ 1 0 0

1 0 1 1_ 0 0 1

1 0 1 0_ 0 1 1

1 0 1 0_ 0 0 0

1 1 1 1_ 0 1 0

for this case change the code









 
kombat:
The logic of this script is reminiscent of a simple 4v2 scrambler

If the scrambler proves to be more useful, we'll make a profit on it :) !

Just networks are still a trendy thing .

If you have the code of the scrambler, then give it here ! Let's play with it too.