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.