Indicator Neuroshel ( NeuroTrend) Neural Network

advertisement
Indicator Neuroshel ( NeuroTrend) Neural Network
sumber : http://forums.babypips.com/57970-post1.html
Author : aroonraj
Neural Network EMA system (NeuroTrend)
Hi Everyone,
After a lot of research, reading excellent basics at babypips and experimenting with various systems, I have finally
implemented a forecasting system based on Neural Networks. Neural networks based systems are proven in financial
forecasting and in general in learning patterns of a non-linear systems.
I believe strongly that forex market is a non-linear system which is difficult to model. But one good thing of forex
market is that it represents some patterns which when known can be applied in making trading decisions. Proof of this
concept is technical analysis and theories that are widely used by traders in identifying these patterns. This makes
neural networks a better tool for forex market as neural networks are know their ability of learning unknown processes
and forecast the patterns of the process ahead.
Lets get to the main point. In this thread I would describe the working of the system I have developed rather than the
system itself as it is a long way to explain. The system is basically a time-series-forecasting system, which means we
give as input information about current Bar and the system would give out information about Bars in future. I am sure
now you are thinking if its really possible and if so what are the actual inputs and what are the actual outputs. I would
strongly suggest the reader to go through the basics of neural networks before reading further.
An Introduction to Neural Networks forecasting
Note: The system is optimized and targeted to trade on EURUSD 15min chart
INPUTS
EMA(t) - EMA (t-1)
EMA(t-1) - EMA (t-2)
EMA(t-2) - EMA (t-3)
RSI(t)
RSI(t-1)
%R(t)
%R(t-1)
MACD(t)
MACD(t-1)
Stoch(t)
Stoch(t-1)
1H EMA(t)
1H EMA(t-1)
OUTPUTS
EMA(t) - EMA(t+1)
EMA(t+1) - EMA(t+2)
EMA(t+2) - EMA(t+3)
where t means current time or Bar. As you see, we give the difference of the past three EMA of the 15min chart Bars,
past two indicator values of RSI, %R, MACD, Stochastic and past two EMA difference of 1H chart Bars. The system
will be able to forecast and output the future 3 EMA difference of 15min chart Bars. How is this able to forecast is hard
to explain (may be I will start a second thread), but for now you should consider the system is able to do so as it has
been trained on several past data (3-6 months). The system for now consists of an indicator and an include file (both
attached at the end). I would be showing some examples how it can be used to detect the patterns of forex market and
make trading decisions.
Dashed Aqua blue line (bottom most): EMA 5 bar
Yellow line: Forecasted EMA(t+1) / output 1 of neural network
Green Yellow line: Forecasted EMA(t+2) / output 2 of neural network
Gold line (top most): Forecasted EMA(t+3) / output 3 of neural network
In the figure above it is clear from the forecast lines that the trend is going to be Bullish eventhough the current EMA
shows Bearish trend. This is a kind of lead indicator.
BUY SIGNAL
1) All three forecasts significantly above current EMA
2) RSI trending up from below 50 level and about or crossed 50 upwards
3) Stochastic Main > Signal and trending up from over sold region
4) Optional: MACD going negative to positive
Example
SELL SIGNAL
1) All three forecasts significantly below current EMA
2) RSI trending down from above50 level and about or crossed 50 downwards
3) Stochastic Main < Signal and trending down from overbought region
4) Optional: MACD going positive to negative
Example
Installation:
Please read the Instructions.txt file in the zip file attached below. A step by step procedure to install the NeuroTrend is
documented in the file. If you find difficulty in installation do not hesitate to ask me......
Finally I would like to say that have fun with the system and if you like it do comment. If you have ideas or suggestions
to apply it or adapt it, share it in this thread. My main aim in making it open to this forum is to get experts suggestions
and improve it and learn from the experience of its applications.....of course also earn a couple of bucks hehehehe
Note: Due to file attachment limitation, the actual files are zipped to NeuroTrendv1.0
Cheers!
Aroon
An Introduction to Neural Networks forecasting
Hi John,
In this reply I would, in short, try to explain what a neural network is and how it is applied for financial and business
forecasting.
By definition, neural networks simulate biological network of human brain. Means they act and try to learn and
perceive things as done by the neurons in the human brain.
In simple words for me a neural network is a black box which has some inputs and some outputs. Now let us assume
that this black box has a memory power inside it. And also assume that if we feed this black box with prior known
inputs and prior known outputs, the memory power of the black box is capable of learning both the inputs and outputs.
By inputs and outputs here I mean numbers.
Now let us say we have a system which we want to learn. In our case we want the black box to learn the price changes
of forex market. So forex is for us a non-linear market which cannot be modeled. By modeling I mean one cannot say
how the prices change and what influences the prices. But we assume that it has some patterns that repeat or can be
identified like bullish trend, bearish trend, Elliot wave pattern, flag, triangle, etc....
How the memory power works is strongly dependent on the design of the neural network, what (patterns) are aimed to
learn and how well the inputs are selected for the outputs that the blackbox has to produce.
Now I will explain how neural networks relate to the system (NeuroTrend) I have designed.
Note the following notation. It is opposite to the mql notation, but this will make us understand things easier.
t: time of the current candle / Bar
t+1: time of the next candle / Bar
t-1: time of the previous candle / Bar
t+n: time of the future nth candle / Bar
t-n: time of the past nth candle / Bar
Now with this notation lets see some examples
EMA(t) = current EMA = EMA with shift 0 = iMA(NULL,PERIOD_M15,5,0,MODE_EMA,PRICE_CLOSE,0);
EMA(t-1) = iMA(NULL,PERIOD_M15,5,0,MODE_EMA,PRICE_CLOSE,1);
NeuralTrend is a neural network system which is designed to learn the forex market movements and forecast it. Lets
see the design of this neural network.
Once we have designed our network, ie. what are our outputs, inputs and how many elements is the network composed
of, we are ready to train it.
What I did is collected data of previous 2-6 months and trained the network. During training the outputs are also
history data and inputs are also history data but not the same. Ex: if my outputs are EMA(t-1), EMA(t-2) and EMA(t3) inputs must be values of indicators of (t-4) or before. The main usage of the neural networks is only after training.
Since we trained our network with history data, it has learnt the patterns that are represented in the training data. Now,
if we give some inputs to the network, it should be able to give outputs according to the given inputs and based on how
well it has learnt patterns in training phase. In NeuroTrend if we give current candle/Bar EMA and other few
commonly used indicators as inputs, NeuroTrend forecasts the EMA for the next 3 periods ie the future Bars. It
is able to do so as it has learnt the patterns of the forex market. Knowing the future EMA we can estimate the what the
price would be and can make decisions to buy or sell.
Example: In robotics, a robot neural network gets inputs from various sensors (temperature, pressure, position, objects
in view). The neural network provides according outputs for the robot to act.
In reality, a neural network is more than just a black box and I have to dive into programming in order to explain logic
behind it which would be a long topic for this reply. In coming weeks, I would introduce day by day to the actual
neural network logic and examples by mql code. The code for creation of a neural network and usage is in the include
file(NeuroTrend_Include.mqh) which is also used by the NeuroTrend_Indicator.
I hope I have explained in short what a neural network is, how it is trained, and how it is applied in forecasting. Neural
networks are widely used in Buisiness, financial, weather, non-linear processes forecasting due to their ability to learn
unknown processes. Once taught with history data neural networks are used to know the future values and act
accordingly. For a detailed explanation I would suggest to go through (only introduction) the following online tutorials.
Download