Thanks for the suggestion, I can test it by adding also Demarker indicator as one of the inputs. My intention to use RSI was only as a trend confirmation tool. I should also read about Demarker. I have never used it.
Concerning sideways, the indicator is right now able to be quite when the market is moving side ways (absolute). Any better suggestions (indicators) to improve the side way pattern detection?
Also neural networks are capable of learning any pattern that has to be detected unless and until the model is define well and the inputs given have this information. In my experience with various indicator inputs, I found the currently included indicator inputs work better.
In future I plan to make a table of indicator inputs and their combinations and a comparison of the outputs according to the inputs.
Yes I plan to program an EA based on NeuroTrend indicator, but I would do that only after I have a well optimized neural network forecaster. If I start to program an EA right in the initial phase I would loose my concentration on the model and the parameters for the network to better forecast.
to be honest with you i am interested in neural networks but to be frank I dnt know anything about them. This thread is so confusing to me is there anyway that you can give me a basic breakdown of what neural networks are and how it relates to your system.
I hope you don’t misunderstand me i never mean to insult you I just feel lost in your beginning posts and if you could put it in “laymens terms” I might have half of a chance at understanding it.
Thanks, 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 [B]black box[/B] which has some [B]inputs[/B] and some [B]outputs[/B]. Now let us assume that this black box has a [B]memory power[/B] 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 [B]patterns[/B] 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 [B]2-6 months[/B] 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 [B]EMA(t-1), EMA(t-2) and EMA(t-3) inputs must be values of indicators of (t-4) or before[/B]. The main usage of the neural networks is only after training.
[B]Usage:[/B]
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[B] current candle/Bar EMA[/B] and [B]other few commonly used indicators as inputs[/B], [B]NeuroTrend forecasts the EMA for the next 3 periods ie the future Bars[/B]. 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.
Widely used application: Neural networks is also used to detect hand written characters on touchpads, PDA, etc… In the following link one can write characters and test how the network is able to detect.
Finally I would say that it is not hard to learn Neural Networks and apply, only it is a bit dry topic and needs attention. I learnt it myself and am confident of its ability in forecasting.
Wow!!! fantastic post. I get it now. So you are saying that based on price movements of the past the nn (neural network) will be able to churn out a future price. So in a way it is a program that seeks to trade like many people do in that we look at indicators which show past price movement and we try to (ugly word) predict future movements. The reason I like the nn as it is applied here is it is mathamaticaly correct and that can be good. (no trading on a whim) If an nn was able to give us a “realtime” indicator wow that could be pretty powerful stuff.
Excellent work so far. Im definatly interested and when I have some time i will read your links on nn basics.
thanks, john
I think you should add an indicator like an arrow for up/down so you can see where it has been triggered, otherwise you cant tell without examining it all very closely.
You got it right. Exactly as you said [B]a well trained neural network is like a highly experienced trader who can easily catch the market movements. He does it as he has been trading for a while and learning these patterns of the forex market.[/B]
But to be frank it is also not so easy to design a neural network. It all depends on what parameters (inputs and outputs) are chosen for forecasting a specific pattern. This is why I want to discuss this topic so that I get valuable feedback from the experienced traders. If we ask about RSI or MACD or Stoch to different traders, we get also different answers how they use them and for what purpose they use them. Example some use RSI for trend confirmation and others for support and resistance.
After a lot of trial and error attempts the current Neural Network indicator (NeuroTrend) is able to forecast trend changes. But I don’t say it is highly accurate and it can forecast all the time 100% correct. This will strongly depend on the training.
Anyways, you said you used 2-3 months of data… Have you tried training it with shorter periods of data? say weekly and what were the results? What about other timeframes?
Yes, initially I tried to train the network with weekly data. In my opinion, weekly data do not contain enough information for training. It also takes less time to train with small data. One major problem with small data would be that instead of learning the patterns, the network tries to memorize the given data.
Right now I am concentrating on certain time period and chart as I have been looking at them for a long time and I am comfortable with them. If you trade with other time frame and are confident of some patterns that can be identified and indicators it can be trained.
OK, working now … I didn’t realize I needed that ex4 file.
I second the suggestion to add arrows or dots above or below the signal points Great work so far … I will be eager to see how this works out this upcoming week with EUR-$ in my demo account. From what I have seen of back signals, they are uncannily accurate.
well I got my chart set up and with a few color tweeks im ready to go. the template was very helpful. I reread through your thread so i feel warmed up to demo this. good luck to all this week. truthfully im very excited to try this and see how we can fine tune it and rule the world hoooooaaaaaahhhhhh!!! (insert evil laugh here)
got carried away there:) thanks, john
All the best for this week. I will be trading only after 5PM (Germany, GMT+1) as I have a regular job. Anyways looking forward eagerly for your experiences with the system and results.
[B]Note also that the current chart update is tickbased, so becareful and do not trade between open and close if you get a valid signal.[/B]
hey… i am making a 5 min trending system with 4 indicator am running it for a while. i need to know how neural network if you put them as output would make it work better. let me run for a week and i will tell you the results. until now it made 17 pip for 20 july.