I’m Trying to design a neural network Moving Average Cross System where the network will verify the Cross. I have created a Metatrader Indicator to feed the network all the information. Right now, I’ve gotten the network to train itself using 80% of the chart and test out what its learned on the remaining 20%. The Problem is my outputs. I right now have a 4 layer Feed Forward Neural Network. It uses the 2 Moving Average Values and the Volume for the past 5-15 periods for the input (Attempting a simple solution atm). And 1 output indicating the percentage that the trade will be profitable btwn 0 - 1. Right now sometimes i get values of 0.95 and sometimes 0.001 % on the same data with the same inputs. I understand that Neural Networks are random by design so to speak but the results after training shouldnt be this bad. Any Ideas on how to fix this would be appriciated. Also ATM im using SIGMOID activation for hidden + output layers. I was thinking that i might have a problem w/ using jpy currencies and the number is at 100 for the inputs for the Net but im not sure. Any Help would be appriciated.
Thanks for your input … I actually agree with you but my problem is im tackling a new field and i’d like to see it working in the simple before I attempt to make it work in much greater depth.
I totally understand how you feel about seperating “computer nerds” and trading but this is the way i look at it: 5% of people who trade make money consistently … I personally would like to have every chance possible to be in that 5% and i have heard of applications of neural networks that keep people in this top 5% therefore I am pursuing it. If it ends up not working in the end … that’s ok … but I have to try.
Anywayz Here’s the Source code from what i have … let me know what you all think … Thanks in advance
P.S. i used the FANN2MQL library from the mql4.com website here’s the link: articles.mql4.com/777 … search for “installer” on the page.
P.S.S. Dont attach this to more than 1 chart … it will crash metatrader ATM
This is from a professor friend of mine who’s done a lot of NN work over the last decade or so:
First, he should train the network using 20% of the data… then increase if necessary. At 80% the network is probably overfitted (learned the error as well as the pattern). Second, he should compare a Guassian transfer function to Sigmoid. Third, if the data input units are vastly different, the network will work more reliabile by doing some form of data transformation (like standardized values). As for the latter point – this may be built-in to the application.
According to “Cybernetic Trading Strategies: Developing a Profitable Trading System with State-of-the-Art Technologies” of Murray A. Ruggiero book:
The best idea is to apply NN to existing trading strategy as additional filter. Author claims he received profitablity around 60%.
Another important detail is what to feed into neural network. For example if to speak about usdjpy it’s not good idea to feed into network values 118.662 because it will be out of normalization database. Data should be normalized.
Yet one more detail is feeding days of week. Not as number like 1,2,3,4,5,6,7 but as separated inputs.
For example Monday can go like 0100000. Tuesday can go as 0010000 and so on.
One more detail is feeding indicators with critical levels like ADX. It can be done via feeding there thermometer like encoding.