NS + indicators. Experiment.

 
Attempting to predict High Low of the next daily bar, using recurrent NS, by values of standard indicators.
Network structure: full-link, recurrent, 3 layers. number of neurons selected by GA. trajectory 50 cycles.

Input (normalized values):
            ,iClose(Symbol(),Period(),i+1) - iMA(NULL,0,20,0,MODE_SMA,PRICE_MEDIAN,i+1)
            ,iClose(Symbol(),Period(),i+1) - iMA(NULL,0,10,0,MODE_SMA,PRICE_MEDIAN,i+1)
            ,iClose(Symbol(),Period(),i+1) - iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN,i+1)            
            ,iRSI(NULL,0,14,PRICE_MEDIAN,i+1)
            ,iATR(NULL,0,12,i+1)
            ,iWPR(NULL,0,14,i+1)
            ,iMACD(NULL,0,12,26,9,PRICE_MEDIAN,MODE_MAIN,i+1)
            ,iMACD(NULL,0,12,26,9,PRICE_MEDIAN,MODE_SIGNAL,i+1)
            ,iMACD(NULL,0,12,26,9,PRICE_MEDIAN,MODE_SIGNAL,i+1) - iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1)
            ,iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i+1)
            ,iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)
            ,iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i+1) - iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)
            ,iADX(NULL,0,14,PRICE_MEDIAN,MODE_MAIN,i+1)
            ,iADX(NULL,0,14,PRICE_MEDIAN,MODE_PLUSDI,i+1)
            ,iADX(NULL,0,14,PRICE_MEDIAN,MODE_MINUSDI,i+1)
            ,iStdDev(NULL,0,10,0,MODE_EMA,PRICE_MEDIAN,i+1)
	    //www.atrlab.com
At the output the array. is formed as follows.
If daily maxima are >15 pips from the previous close, then the first array element = 1, the rest 0.
If daily maxima are >30 pips from the previous day's close, then the second element is equal to 1, the others are equal to 0.
etc.

Example outputs.

s1 s2 s3 s4 s5 s6 s7 r1 r2 r3 r4 r5 r6 r7
0 1 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 0 0 0 1 1 0
0 0 0 0 1 0 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 1 0 0 0 0 0 0

result. test sample.



the values near the lines are the activity of the neuron responsible for the support/resistance level.
 
All indicators are price derivatives. Wouldn't it be easier to feed just the price? One of the rules of data preparation for NS is to reduce the dimensionality. So reduce it by reducing all data to price. Otherwise you are feeding redundant, interlinked data.
 
I did. just pitched a price change proce. the results didn't change my view of the market.
 
njel:
I did. just pitched a price change proce. the results didn't change my view of the market.


To calculate the percentage, you need a reference value (from which to calculate the percentage). Could you elaborate on that + your view of the market, if you don't mind?

 
I won't write too much, just read the article: Neural Networks: Working through the bugs
 
on the input was given by
         double c1 = MathLog (  iHigh(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
         double c2 = MathLog (  iLow(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
and the net was timelagged with a trajectory of 15 . but the quality of the forecast was not happy.

2Alex-Bugalter

I have read the article. I have one neural network for example, but it's modular, can you suggest something?
 
njel:
the input was
         double c1 = MathLog (  iHigh(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
         double c2 = MathLog (  iLow(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
and the network was timelagged with a trajectory of 15 . but the quality of the forecast was not happy.

Thenatural logarithm of the ratio of the two numbers ? Is that the percentage of change in price ?
 
Alex-Bugalter писал (а):
I won't write too much, just read the article: Neural Networks: Working on Mistakes
I read the article, it does more harm than good. It's written didactically horribly, with manipulation of words like probability and profit. Lots of clever words to make it sound solid.
 
Rosh:
Alex-Bugalter wrote (a):
I won't write too much, just read the article: Neural Networks: A Work in Progress
Read the article, it does more harm than good. It's written didactically awful, with manipulation of words like probability and profit. Lots of clever words to make it sound solid.

Seconded. It's not an article, it's just something to take a walk on.
 
Prival:
njel:
gave for input
         double c1 = MathLog (  iHigh(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
         double c2 = MathLog (  iLow(Symbol(),Period(),i) / iClose(Symbol(),Period(),i+1)) * 100.0;
and the net was timelagged with a trajectory of 15 . but the quality of the forecast was not happy.

The natural logarithm of the ratio of the two numbers ? Is this the percentage of change in price ?
I used to take 100% of the price as a percentage. But recently I've seen such measurements of price movements. And at the moment I'm thinking about how to feed the next NS model.
 
Dear Rosh & SK, if you know so well what's good and what's bad, and where it's better to walk.
Maybe you can point out to the uninitiated what you think the harm is and what exactly is not true in this article?
So many people have been misled, so let's show them the right way.
Or are you just out for a walk?
Anyone can indiscriminately cast aspersions.
And in this article: "Neural networks and time series analysis", is it rubbish written also?

P.s.: And Rosh, for me personally, if it's not too much trouble, what exactly did you mean by: "Written didactically awful"?
Reason: